perm filename GAUSS.PRO[BMP,SYS]2 blob
sn#744786 filedate 1984-01-18 generic text, type T, neo UTF8
January 18, 1984 0:17:46
(NOTE-LIB WILSON.LIB WILSON.LISP)
[ 30.1180012 0.0 ]
#FILE-IN-|DSK:WILSON.LIB[BM,CLT]|-71764
(DEFN SQUARES
(N P)
(IF (ZEROP N)
(LIST 0.)
(CONS (REMAINDER (TIMES N N) P)
(SQUARES (SUB1 N) P))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition
of ZEROP inform us that the measure (COUNT N) decreases according to
the well-founded relation LESSP in each recursive call. Hence,
SQUARES is accepted under the principle of definition. Observe that
(LISTP (SQUARES N P)) is a theorem.
[ 6.7639974 0.0489908853 ]
SQUARES
(DEFN RESIDUE
(A P)
(AND (NOT (DIVIDES P A))
(MEMBER (REMAINDER A P)
(SQUARES P P))))
Note that (OR (FALSEP (RESIDUE A P)) (TRUEP (RESIDUE A P))) is a
theorem.
[ 1.18001302 0.0120117187 ]
RESIDUE
(PROVE-LEMMA ALL-SQUARES-1 NIL
(IMPLIES (AND (NOT (ZEROP P)) (LEQ M N))
(MEMBER (REMAINDER (TIMES M M) P)
(SQUARES N P))))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
AND, and IMPLIES, to the new formula:
(IMPLIES (AND (NOT (EQUAL P 0))
(NUMBERP P)
( LEQ M N))
(MEMBER (REMAINDER (TIMES M M) P)
(SQUARES N P))).
Name the above subgoal *1.
We will try to prove it by induction. There is only one
suggested induction. We will induct according to the following
scheme:
(AND (IMPLIES (ZEROP N) (P M P N))
(IMPLIES (AND (NOT (ZEROP N)) (P M P (SUB1 N)))
(P M P N))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of
ZEROP can be used to prove that the measure (COUNT N) decreases
according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme produces three new
formulas:
Case 3. (IMPLIES (AND (ZEROP N)
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ M N))
(MEMBER (REMAINDER (TIMES M M) P)
(SQUARES N P))).
This simplifies, applying the lemmas REMAINDER-0-CROCK and
TIMES-ZERO2, and expanding the definitions of ZEROP, EQUAL, LESSP,
TIMES, SQUARES, and MEMBER, to:
T.
Case 2. (IMPLIES (AND (NOT (ZEROP N))
(LESSP (SUB1 N) M)
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ M N))
(MEMBER (REMAINDER (TIMES M M) P)
(SQUARES N P))),
which simplifies, using linear arithmetic, to three new goals:
Case 2.3.
(IMPLIES (AND (NOT (NUMBERP N))
(NOT (ZEROP N))
(LESSP (SUB1 N) M)
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ M N))
(MEMBER (REMAINDER (TIMES M M) P)
(SQUARES N P))).
However this again simplifies, opening up the function ZEROP, to:
T.
Case 2.2.
(IMPLIES (AND (NOT (NUMBERP M))
(NOT (ZEROP N))
(LESSP (SUB1 N) M)
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ M N))
(MEMBER (REMAINDER (TIMES M M) P)
(SQUARES N P))),
which again simplifies, unfolding the definitions of ZEROP and
LESSP, to:
T.
Case 2.1.
(IMPLIES (AND (NUMBERP M)
(NUMBERP N)
(NOT (ZEROP M))
(LESSP (SUB1 M) M)
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ M M))
(MEMBER (REMAINDER (TIMES M M) P)
(SQUARES M P))),
which we again simplify, unfolding the definition of ZEROP, to:
(IMPLIES (AND (NUMBERP M)
(NUMBERP N)
(NOT (EQUAL M 0))
(LESSP (SUB1 M) M)
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ M M))
(MEMBER (REMAINDER (TIMES M M) P)
(SQUARES M P))).
Applying the lemma SUB1-ELIM, we now replace M by (ADD1 X) to
eliminate (SUB1 M). We use the type restriction lemma noted when
SUB1 was introduced to constrain the new variable. This produces:
(IMPLIES (AND (NUMBERP X)
(NUMBERP N)
(NOT (EQUAL (ADD1 X) 0))
(LESSP X (ADD1 X))
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ (ADD1 X) (ADD1 X)))
(MEMBER (REMAINDER (TIMES (ADD1 X) (ADD1 X))
P)
(SQUARES (ADD1 X) P))),
which further simplifies, rewriting with SUB1-ADD1,
REMAINDER-OF-1, CAR-CONS, TIMES-ADD1, COMMUTATIVITY-OF-TIMES,
PLUS-ADD1, and COMMUTATIVITY2-OF-PLUS, and expanding the
definitions of LESSP, ADD1, TIMES, SUB1, NUMBERP, EQUAL, SQUARES,
MEMBER, and PLUS, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP N))
(MEMBER (REMAINDER (TIMES M M) P)
(SQUARES (SUB1 N) P))
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ M N))
(MEMBER (REMAINDER (TIMES M M) P)
(SQUARES N P))).
This simplifies, applying CDR-CONS and CAR-CONS, and opening up
ZEROP, SQUARES, and MEMBER, to:
T.
That finishes the proof of *1. Q.E.D.
[ 60.4700522 1.31796876 ]
ALL-SQUARES-1
(PROVE-LEMMA ALL-SQUARES-2 NIL
(EQUAL (REMAINDER (TIMES Y Y) P)
(REMAINDER (TIMES (REMAINDER Y P)
(REMAINDER Y P))
P))
((USE (TIMES-MOD-1 (X Y) (N P))
(TIMES-MOD-3 (B (REMAINDER Y P))
(A Y)
(N P)))
(DISABLE TIMES-MOD-1 TIMES-MOD-3)))
This simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 0.51396485 0.0120442709 ]
ALL-SQUARES-2
(PROVE-LEMMA ALL-SQUARES
(REWRITE)
(IMPLIES (AND (NOT (ZEROP P))
(NOT (MEMBER X (SQUARES P P))))
(NOT (EQUAL X (REMAINDER (TIMES Y Y) P))))
((USE (ALL-SQUARES-1 (N P)
(M (REMAINDER Y P)))
(ALL-SQUARES-2))
(DISABLE TIMES-MOD-1 TIMES-MOD-3)))
This formula can be simplified, using the abbreviations ZEROP, NOT,
IMPLIES, and AND, to:
(IMPLIES
(AND (IMPLIES (AND (NOT (ZEROP P))
(IF (LESSP P (REMAINDER Y P)) F T))
(MEMBER (REMAINDER (TIMES (REMAINDER Y P)
(REMAINDER Y P))
P)
(SQUARES P P)))
(EQUAL (REMAINDER (TIMES Y Y) P)
(REMAINDER (TIMES (REMAINDER Y P)
(REMAINDER Y P))
P))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (MEMBER X (SQUARES P P))))
(NOT (EQUAL X (REMAINDER (TIMES Y Y) P)))).
This simplifies, unfolding the functions ZEROP, NOT, AND, and IMPLIES,
to:
(IMPLIES (AND (LESSP P (REMAINDER Y P))
(EQUAL (REMAINDER (TIMES Y Y) P)
(REMAINDER (TIMES (REMAINDER Y P)
(REMAINDER Y P))
P))
(NOT (EQUAL P 0))
(NUMBERP P))
(MEMBER (REMAINDER (TIMES Y Y) P)
(SQUARES P P))),
which again simplifies, using linear arithmetic and rewriting with
LESSP-REMAINDER-DIVISOR, to:
T.
Q.E.D.
[ 43.0159507 0.13203125 ]
ALL-SQUARES
(PROVE-LEMMA EULER-1-1 NIL
(IMPLIES (NOT (DIVIDES 2. P))
(EQUAL (TIMES 2. (QUOTIENT P 2.))
(SUB1 P))))
This formula can be simplified, using the abbreviations NOT, IMPLIES,
and DIVIDES, to:
(IMPLIES (NOT (EQUAL (REMAINDER P 2) 0))
(EQUAL (TIMES 2 (QUOTIENT P 2))
(SUB1 P))).
This simplifies, using linear arithmetic, appealing to the lemma
LESSP-REMAINDER-DIVISOR, and expanding EQUAL, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(NOT (EQUAL 1 0)))
(EQUAL (TIMES 2 (QUOTIENT P 2))
(SUB1 P))),
which again simplifies, applying TIMES-2, and expanding the
definition of EQUAL, to the formula:
(IMPLIES (EQUAL (REMAINDER P 2) 1)
(EQUAL (PLUS (QUOTIENT P 2) (QUOTIENT P 2))
(SUB1 P))).
Applying the lemma REMAINDER-QUOTIENT-ELIM, replace P by
(PLUS X (TIMES 2 Z)) to eliminate (REMAINDER P 2) and (QUOTIENT P 2).
We employ LESSP-REMAINDER2, the type restriction lemma noted when
REMAINDER was introduced, and the type restriction lemma noted when
QUOTIENT was introduced to restrict the new variables. This
generates the following four new formulas:
Case 4. (IMPLIES (AND (NOT (NUMBERP P))
(EQUAL (REMAINDER P 2) 1))
(EQUAL (PLUS (QUOTIENT P 2) (QUOTIENT P 2))
(SUB1 P))).
However this simplifies further, unfolding the functions LESSP,
NUMBERP, EQUAL, and REMAINDER, to:
T.
Case 3. (IMPLIES (AND (EQUAL 2 0)
(EQUAL (REMAINDER P 2) 1))
(EQUAL (PLUS (QUOTIENT P 2) (QUOTIENT P 2))
(SUB1 P))),
which we further simplify, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (NOT (NUMBERP 2))
(EQUAL (REMAINDER P 2) 1))
(EQUAL (PLUS (QUOTIENT P 2) (QUOTIENT P 2))
(SUB1 P))).
This simplifies further, trivially, to:
T.
Case 1. (IMPLIES (AND (NUMBERP X)
(EQUAL (LESSP X 2) (NOT (ZEROP 2)))
(NUMBERP Z)
(NOT (EQUAL 2 0))
(EQUAL X 1))
(EQUAL (PLUS Z Z)
(SUB1 (PLUS X (TIMES 2 Z))))),
which we further simplify, using linear arithmetic, to:
(IMPLIES (AND (EQUAL (PLUS 1 (TIMES 2 Z)) 0)
(NUMBERP 1)
(EQUAL (LESSP 1 2) (NOT (ZEROP 2)))
(NUMBERP Z)
(NOT (EQUAL 2 0)))
(EQUAL (PLUS Z Z)
(SUB1 (PLUS 1 (TIMES 2 Z))))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 11.3849934 0.286979165 ]
EULER-1-1
(PROVE-LEMMA EULER-1-2 NIL
(IMPLIES (NOT (DIVIDES 2. P))
(EQUAL (EXP (TIMES I I) (QUOTIENT P 2.))
(EXP I (SUB1 P))))
((USE (EXP-EXP (J 2.) (K (QUOTIENT P 2.)))
(EULER-1-1))
(DISABLE EXP-EXP)))
This formula can be simplified, using the abbreviations NOT, IMPLIES,
AND, and DIVIDES, to the new conjecture:
(IMPLIES (AND (EQUAL (EXP (EXP I 2) (QUOTIENT P 2))
(EXP I (TIMES 2 (QUOTIENT P 2))))
(IMPLIES (NOT (EQUAL (REMAINDER P 2) 0))
(EQUAL (TIMES 2 (QUOTIENT P 2))
(SUB1 P)))
(NOT (EQUAL (REMAINDER P 2) 0)))
(EQUAL (EXP (TIMES I I) (QUOTIENT P 2))
(EXP I (SUB1 P)))).
This simplifies, using linear arithmetic, rewriting with
LESSP-REMAINDER-DIVISOR, and opening up the definition of EQUAL, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(EQUAL (EXP (EXP I 2) (QUOTIENT P 2))
(EXP I (TIMES 2 (QUOTIENT P 2))))
(IMPLIES (NOT (EQUAL 1 0))
(EQUAL (TIMES 2 (QUOTIENT P 2))
(SUB1 P)))
(NOT (EQUAL 1 0)))
(EQUAL (EXP (TIMES I I) (QUOTIENT P 2))
(EXP I (SUB1 P)))).
However this again simplifies, applying the lemmas TIMES-2, EXP-PLUS,
and EXP-TIMES, and unfolding EQUAL, NOT, and IMPLIES, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(EQUAL (EXP (EXP I 2) (QUOTIENT P 2))
(TIMES (EXP I (QUOTIENT P 2))
(EXP I (QUOTIENT P 2))))
(EQUAL (PLUS (QUOTIENT P 2) (QUOTIENT P 2))
(SUB1 P)))
(EQUAL (EXP (EXP I 2) (QUOTIENT P 2))
(EXP I (SUB1 P)))).
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace P by
(PLUS X (TIMES 2 Z)) to eliminate (REMAINDER P 2) and (QUOTIENT P 2).
We rely upon LESSP-REMAINDER2, the type restriction lemma noted when
REMAINDER was introduced, and the type restriction lemma noted when
QUOTIENT was introduced to constrain the new variables. We thus
obtain the following four new formulas:
Case 4. (IMPLIES (AND (NOT (NUMBERP P))
(EQUAL (REMAINDER P 2) 1)
(EQUAL (EXP (EXP I 2) (QUOTIENT P 2))
(TIMES (EXP I (QUOTIENT P 2))
(EXP I (QUOTIENT P 2))))
(EQUAL (PLUS (QUOTIENT P 2) (QUOTIENT P 2))
(SUB1 P)))
(EQUAL (EXP (EXP I 2) (QUOTIENT P 2))
(EXP I (SUB1 P)))),
which further simplifies, unfolding the functions LESSP, NUMBERP,
EQUAL, and REMAINDER, to:
T.
Case 3. (IMPLIES (AND (EQUAL 2 0)
(EQUAL (REMAINDER P 2) 1)
(EQUAL (EXP (EXP I 2) (QUOTIENT P 2))
(TIMES (EXP I (QUOTIENT P 2))
(EXP I (QUOTIENT P 2))))
(EQUAL (PLUS (QUOTIENT P 2) (QUOTIENT P 2))
(SUB1 P)))
(EQUAL (EXP (EXP I 2) (QUOTIENT P 2))
(EXP I (SUB1 P)))).
But this simplifies further, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (NOT (NUMBERP 2))
(EQUAL (REMAINDER P 2) 1)
(EQUAL (EXP (EXP I 2) (QUOTIENT P 2))
(TIMES (EXP I (QUOTIENT P 2))
(EXP I (QUOTIENT P 2))))
(EQUAL (PLUS (QUOTIENT P 2) (QUOTIENT P 2))
(SUB1 P)))
(EQUAL (EXP (EXP I 2) (QUOTIENT P 2))
(EXP I (SUB1 P)))).
This simplifies further, obviously, to:
T.
Case 1. (IMPLIES (AND (NUMBERP X)
(EQUAL (LESSP X 2) (NOT (ZEROP 2)))
(NUMBERP Z)
(NOT (EQUAL 2 0))
(EQUAL X 1)
(EQUAL (EXP (EXP I 2) Z)
(TIMES (EXP I Z) (EXP I Z)))
(EQUAL (PLUS Z Z)
(SUB1 (PLUS X (TIMES 2 Z)))))
(EQUAL (EXP (EXP I 2) Z)
(EXP I
(SUB1 (PLUS X (TIMES 2 Z)))))),
which we further simplify, applying TIMES-2 and EXP-PLUS, and
expanding the definitions of NUMBERP, LESSP, ZEROP, NOT, and EQUAL,
to:
T.
Q.E.D.
[ 16.6420898 0.434928384 ]
EULER-1-2
(PROVE-LEMMA EULER-1-3 NIL
(IMPLIES (EQUAL (REMAINDER A P)
(REMAINDER B P))
(EQUAL (REMAINDER (EXP A C) P)
(REMAINDER (EXP B C) P)))
((USE (REMAINDER-EXP (I C) (N P))
(REMAINDER-EXP (A B) (I C) (N P)))
(DISABLE REMAINDER-EXP)))
This simplifies, trivially, to:
T.
Q.E.D.
[ 14.4509766 0.0120442709 ]
EULER-1-3
(PROVE-LEMMA EULER-1-4 NIL
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES 2. P))
(NOT (DIVIDES P I)))
(EQUAL (REMAINDER (EXP (TIMES I I) (QUOTIENT P 2.))
P)
1.))
((USE (EULER-1-2))
(DISABLE LESSP-REMAINDER-DIVISOR PRIME)))
This conjecture can be simplified, using the abbreviations NOT, AND,
IMPLIES, and DIVIDES, to the new formula:
(IMPLIES (AND (IMPLIES (NOT (EQUAL (REMAINDER P 2) 0))
(EQUAL (EXP (TIMES I I) (QUOTIENT P 2))
(EXP I (SUB1 P))))
(PRIME P)
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER I P) 0)))
(EQUAL (REMAINDER (EXP (TIMES I I) (QUOTIENT P 2))
P)
1)).
This simplifies, applying EXP-TIMES and FERMAT-THM, and expanding NOT,
IMPLIES, and EQUAL, to:
T.
Q.E.D.
[ 10.6639649 0.12203776 ]
EULER-1-4
(PROVE-LEMMA EULER-1-5 NIL
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P A))
(EQUAL (REMAINDER A P)
(REMAINDER (TIMES I I) P)))
(NOT (DIVIDES P I)))
((USE (PRIME-KEY-REWRITE (A I) (B I)))
(DISABLE PRIME-KEY-REWRITE PRIME)))
This formula can be simplified, using the abbreviations NOT, AND,
IMPLIES, and DIVIDES, to:
(IMPLIES
(AND (IMPLIES (PRIME P)
(EQUAL (EQUAL (REMAINDER (TIMES I I) P) 0)
(OR (EQUAL (REMAINDER I P) 0)
(EQUAL (REMAINDER I P) 0))))
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER A P)
(REMAINDER (TIMES I I) P)))
(NOT (EQUAL (REMAINDER I P) 0))),
which simplifies, opening up the definitions of EQUAL, OR, and
IMPLIES, to:
T.
Q.E.D.
[ 11.0180013 0.059016927 ]
EULER-1-5
(PROVE-LEMMA EULER-1-6 NIL
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES 2. P))
(NOT (DIVIDES P A))
(EQUAL (REMAINDER A P)
(REMAINDER (TIMES I I) P)))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2.)) P)
1.))
((USE (EULER-1-4)
(EULER-1-5)
(EULER-1-3 (B (TIMES I I))
(C (QUOTIENT P 2.))))
(DISABLE PRIME LESSP-REMAINDER-DIVISOR B-ILEMMA2 LESSP
SUB1-NNUMBERP REMAINDER-0-CROCK REMAINDER)))
This formula can be simplified, using the abbreviations NOT, IMPLIES,
AND, and DIVIDES, to:
(IMPLIES
(AND
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER I P) 0))))
(EQUAL (REMAINDER (EXP (TIMES I I) (QUOTIENT P 2))
P)
1))
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER A P)
(REMAINDER (TIMES I I) P))))
(NOT (EQUAL (REMAINDER I P) 0)))
(IMPLIES (EQUAL (REMAINDER A P)
(REMAINDER (TIMES I I) P))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
(REMAINDER (EXP (TIMES I I) (QUOTIENT P 2))
P)))
(PRIME P)
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER A P)
(REMAINDER (TIMES I I) P)))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1)),
which simplifies, applying the lemma EXP-TIMES, and unfolding NOT,
AND, IMPLIES, and EQUAL, to:
T.
Q.E.D.
[ 16.3619142 0.100032552 ]
EULER-1-6
(PROVE-LEMMA EULER-1-7
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES 2. P))
(NOT (DIVIDES P A))
(MEMBER (REMAINDER A P)
(SQUARES I P)))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2.)) P)
1.))
((USE (EULER-1-6))
(INDUCT (SQUARES I P))
(DISABLE PRIME REMAINDER LESSP-REMAINDER-DIVISOR)))
WARNING: Note that EULER-1-7 contains the free variable I which will
be chosen by instantiating the hypothesis:
(MEMBER (REMAINDER A P) (SQUARES I P))
.
This conjecture can be simplified, using the abbreviation DIVIDES, to:
(IMPLIES
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER A P)
(REMAINDER (TIMES I I) P)))))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1))
(AND
(OR (NOT (ZEROP I))
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(MEMBER (REMAINDER A P)
(SQUARES I P)))))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1)))
(OR
(ZEROP I)
(OR
(NOT
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(MEMBER (REMAINDER A P)
(SQUARES (SUB1 I) P)))))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1)))
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(MEMBER (REMAINDER A P)
(SQUARES I P)))))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1)))))).
This simplifies, expanding the definitions of NOT, AND, IMPLIES,
ZEROP, SQUARES, OR, and EQUAL, to the following three new formulas:
Case 3. (IMPLIES (AND (NOT (EQUAL (REMAINDER A P)
(REMAINDER (TIMES I I) P)))
(NOT (NUMBERP I))
(PRIME P)
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER (REMAINDER A P) '(0)))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1)).
But this simplifies again, rewriting with TIMES-ZERO2 and
REMAINDER-0-CROCK, and unfolding the definitions of CDR, CAR, LISTP,
and MEMBER, to:
T.
Case 2. (IMPLIES (AND (NOT (EQUAL (REMAINDER A P)
(REMAINDER (TIMES I I) P)))
(EQUAL I 0)
(PRIME P)
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER (REMAINDER A P) '(0)))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1)).
This simplifies again, applying REMAINDER-0-CROCK, and opening up
TIMES, CDR, CAR, LISTP, and MEMBER, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL (REMAINDER A P)
(REMAINDER (TIMES I I) P)))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES (SUB1 I) P)))
(MEMBER (REMAINDER A P)
(CONS (REMAINDER (TIMES I I) P)
(SQUARES (SUB1 I) P))))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1)),
which we again simplify, rewriting with CDR-CONS and CAR-CONS, and
unfolding the function MEMBER, to:
T.
Q.E.D.
[ 29.2368815 0.34108073 ]
EULER-1-7
(PROVE-LEMMA EULER-1
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES 2. P))
(RESIDUE A P))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2.)) P)
1.))
((DISABLE PRIME)))
This conjecture can be simplified, using the abbreviations RESIDUE,
NOT, AND, IMPLIES, and DIVIDES, to:
(IMPLIES (AND (PRIME P)
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER (REMAINDER A P)
(SQUARES P P)))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1)),
which simplifies, using linear arithmetic, rewriting with
LESSP-REMAINDER-DIVISOR, and opening up the function EQUAL, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(PRIME P)
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER (REMAINDER A P)
(SQUARES P P)))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1)).
However this simplifies again, using linear arithmetic, applying the
lemmas B-I-LEMMA2 and EULER-1-7, and expanding the definitions of
EQUAL, DIVIDES, SUB1, INVERSE, and PRIME, to:
T.
Q.E.D.
[ 12.330957 0.140071614 ]
EULER-1
(DEFN COMPLEMENT
(J A P)
(REMAINDER (TIMES (INVERSE J P) A) P))
From the definition we can conclude that:
(NUMBERP (COMPLEMENT J A P))
is a theorem.
[ 0.211002605 0.0150065104 ]
COMPLEMENT
(TOGGLE G0219 INVERSE T)
[ 6.99869794E-3 0.0 ]
G0219
(PROVE-LEMMA COMPLEMENT-WORKS
(REWRITE)
(IMPLIES (AND (PRIME P) (NOT (DIVIDES P J)))
(EQUAL (REMAINDER (TIMES J (COMPLEMENT J A P))
P)
(REMAINDER A P)))
((USE (INVERSE-INVERTS)
(TIMES-MOD-3 (A (TIMES J (INVERSE J P)))
(B A)
(N P)))
(DISABLE INVERSE-INVERTS TIMES-MOD-3 PRIME)))
This conjecture can be simplified, using the abbreviations NOT,
IMPLIES, AND, DIVIDES, and ASSOCIATIVITY-OF-TIMES, to the goal:
(IMPLIES
(AND
(IMPLIES (AND (PRIME P)
(NOT (EQUAL (REMAINDER J P) 0)))
(EQUAL (REMAINDER (TIMES (INVERSE J P) J) P)
1))
(EQUAL (REMAINDER (TIMES (REMAINDER (TIMES J (INVERSE J P)) P)
A)
P)
(REMAINDER (TIMES J (TIMES (INVERSE J P) A))
P))
(PRIME P)
(NOT (EQUAL (REMAINDER J P) 0)))
(EQUAL (REMAINDER (TIMES J (COMPLEMENT J A P))
P)
(REMAINDER A P))),
which simplifies, applying the lemmas COMMUTATIVITY-OF-TIMES,
INVERSE-IS-UNIQUE, TIMES-MOD-1, TIMES-1, COMMUTATIVITY2-OF-TIMES,
TIMES-MOD-2, and EQUAL-TIMES-0, and expanding the definitions of NOT,
AND, IMPLIES, REMAINDER, LESSP, and COMPLEMENT, to:
T.
Q.E.D.
[ 127.636979 0.37200521 ]
COMPLEMENT-WORKS
(PROVE-LEMMA BOUNDED-COMPLEMENT
(REWRITE)
(IMPLIES (NOT (ZEROP P))
(LESSP (COMPLEMENT J A P) P)))
WARNING: Note that the linear lemma BOUNDED-COMPLEMENT is being
stored under the term (COMPLEMENT J A P), which is unusual because
COMPLEMENT is a nonrecursive function symbol.
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
and IMPLIES, to the new formula:
(IMPLIES (AND (NOT (EQUAL P 0)) (NUMBERP P))
(LESSP (COMPLEMENT J A P) P)).
This simplifies, applying COMMUTATIVITY-OF-TIMES and LESSP-REMAINDER2,
and expanding COMPLEMENT, to:
T.
Q.E.D.
[ 2.174056 0.09296875 ]
BOUNDED-COMPLEMENT
(TOGGLE COMPLEMENT-OFF COMPLEMENT T)
[ 7.03125E-3 0.0 ]
COMPLEMENT-OFF
(PROVE-LEMMA NON-ZEROP-COMPLEMENT
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P J))
(NOT (DIVIDES P A)))
(NOT (ZEROP (COMPLEMENT J A P))))
((USE (COMPLEMENT-WORKS))
(DISABLE COMPLEMENT-WORKS PRIME)))
WARNING: Note that the rewrite rule NON-ZEROP-COMPLEMENT will be
stored so as to apply only to terms with the nonrecursive function
symbol ZEROP.
This conjecture can be simplified, using the abbreviations NOT, AND,
IMPLIES, and DIVIDES, to:
(IMPLIES
(AND (IMPLIES (AND (PRIME P)
(NOT (EQUAL (REMAINDER J P) 0)))
(EQUAL (REMAINDER (TIMES J (COMPLEMENT J A P))
P)
(REMAINDER A P)))
(PRIME P)
(NOT (EQUAL (REMAINDER J P) 0))
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT (ZEROP (COMPLEMENT J A P)))),
which simplifies, unfolding the functions NOT, AND, IMPLIES, and
ZEROP, to the new formula:
(IMPLIES (AND (EQUAL (REMAINDER (TIMES J (COMPLEMENT J A P))
P)
(REMAINDER A P))
(PRIME P)
(NOT (EQUAL (REMAINDER J P) 0))
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT (EQUAL (COMPLEMENT J A P) 0))).
This again simplifies, applying COMMUTATIVITY-OF-TIMES and
TIMES-IDENTITY, and expanding the definitions of LESSP, EQUAL, and
REMAINDER, to:
T.
Q.E.D.
[ 14.5539714 0.139973959 ]
NON-ZEROP-COMPLEMENT
(PROVE-LEMMA COMPLEMENT-IS-UNIQUE
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P A))
(EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P)))
((USE (COMPLEMENT-WORKS)
(THM-55-SPECIALIZED-TO-PRIMES (M J)
(Y (COMPLEMENT J A P))))
(DISABLE COMPLEMENT-WORKS THM-55-SPECIALIZED-TO-PRIMES
PRIME)))
WARNING: Note that COMPLEMENT-IS-UNIQUE contains the free variable X
which will be chosen by instantiating the hypothesis:
(EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER A P))
.
This conjecture can be simplified, using the abbreviations NOT,
IMPLIES, AND, and DIVIDES, to the new conjecture:
(IMPLIES
(AND
(IMPLIES (AND (PRIME P)
(NOT (EQUAL (REMAINDER J P) 0)))
(EQUAL (REMAINDER (TIMES J (COMPLEMENT J A P))
P)
(REMAINDER A P)))
(IMPLIES (AND (PRIME P)
(NOT (EQUAL (REMAINDER J P) 0)))
(EQUAL (EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER (TIMES J (COMPLEMENT J A P))
P))
(EQUAL (REMAINDER X P)
(REMAINDER (COMPLEMENT J A P) P))))
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))).
This simplifies, using linear arithmetic, appealing to the lemmas
REMAINDER-0-CROCK, DIFFERENCE-0, and BOUNDED-COMPLEMENT, and
expanding NOT, AND, IMPLIES, EQUAL, and REMAINDER, to the following
three new conjectures:
Case 3. (IMPLIES (AND (EQUAL (REMAINDER J P) 0)
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))).
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace J by
(PLUS Z (TIMES P V)) to eliminate (REMAINDER J P) and
(QUOTIENT J P). We rely upon LESSP-REMAINDER2, the type
restriction lemma noted when REMAINDER was introduced, and the type
restriction lemma noted when QUOTIENT was introduced to constrain
the new variables. We thus obtain the following four new formulas:
Case 3.4.
(IMPLIES (AND (NOT (NUMBERP J))
(EQUAL (REMAINDER J P) 0)
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))),
which further simplifies, rewriting with EQUAL-TIMES-0, and
opening up the functions LESSP, REMAINDER, and EQUAL, to the new
conjecture:
(IMPLIES (AND (NOT (NUMBERP J))
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (TIMES J X) (REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))).
Applying the lemma REMAINDER-QUOTIENT-ELIM, we now replace A by
(PLUS Z (TIMES P V)) to eliminate (REMAINDER A P) and
(QUOTIENT A P). We employ LESSP-REMAINDER2, the type restriction
lemma noted when REMAINDER was introduced, and the type
restriction lemma noted when QUOTIENT was introduced to constrain
the new variables. This produces four new conjectures:
Case 3.4.4.
(IMPLIES (AND (NOT (NUMBERP A))
(NOT (NUMBERP J))
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (TIMES J X) (REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))),
which we further simplify, opening up LESSP, REMAINDER, and
EQUAL, to:
T.
Case 3.4.3.
(IMPLIES (AND (EQUAL P 0)
(NOT (NUMBERP J))
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (TIMES J X) (REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))),
which further simplifies, expanding the definition of PRIME, to:
T.
Case 3.4.2.
(IMPLIES (AND (NOT (NUMBERP P))
(NOT (NUMBERP J))
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (TIMES J X) (REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))),
which we further simplify, applying REMAINDER-WRT-12, to the
following two new formulas:
Case 3.4.2.2.
(IMPLIES (AND (NOT (NUMBERP P))
(NOT (NUMBERP J))
(PRIME P)
(NUMBERP A)
(NOT (EQUAL A 0))
(EQUAL (TIMES J X) A)
(NOT (NUMBERP X)))
(EQUAL (COMPLEMENT J A P) 0)).
But this simplifies finally, rewriting with TIMES-ZERO2, and
expanding the functions NUMBERP and EQUAL, to:
T.
Case 3.4.2.1.
(IMPLIES (AND (NOT (NUMBERP P))
(NOT (NUMBERP J))
(PRIME P)
(NUMBERP A)
(NOT (EQUAL A 0))
(EQUAL (TIMES J X) A)
(NUMBERP X))
(EQUAL (COMPLEMENT J A P) X)).
However this simplifies finally, rewriting with the lemma
EQUAL-TIMES-0, to:
T.
Case 3.4.1.
(IMPLIES (AND (NUMBERP Z)
(EQUAL (LESSP Z P) (NOT (ZEROP P)))
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(NOT (NUMBERP J))
(PRIME P)
(NOT (EQUAL Z 0))
(EQUAL (TIMES J X) Z))
(EQUAL (COMPLEMENT J (PLUS Z (TIMES P V)) P)
(REMAINDER X P))),
which we further simplify, rewriting with the lemma
EQUAL-TIMES-0, and expanding the definitions of LESSP, ZEROP,
NOT, and EQUAL, to:
T.
Case 3.3.
(IMPLIES (AND (EQUAL P 0)
(EQUAL (REMAINDER J P) 0)
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))).
This further simplifies, opening up EQUAL, REMAINDER, and PRIME,
to:
T.
Case 3.2.
(IMPLIES (AND (NOT (NUMBERP P))
(EQUAL (REMAINDER J P) 0)
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))),
which we further simplify, applying the lemma REMAINDER-WRT-12,
to four new conjectures:
Case 3.2.4.
(IMPLIES (AND (NOT (NUMBERP P))
(EQUAL J 0)
(PRIME P)
(NUMBERP A)
(NOT (EQUAL A 0))
(EQUAL (TIMES 0 X) A)
(NOT (NUMBERP X)))
(EQUAL (COMPLEMENT 0 A P) 0)),
which we again simplify, using linear arithmetic, to:
T.
Case 3.2.3.
(IMPLIES (AND (NOT (NUMBERP P))
(EQUAL J 0)
(PRIME P)
(NUMBERP A)
(NOT (EQUAL A 0))
(EQUAL (TIMES 0 X) A)
(NUMBERP X))
(EQUAL (COMPLEMENT 0 A P) X)),
which we again simplify, using linear arithmetic, to:
T.
Case 3.2.2.
(IMPLIES (AND (NOT (NUMBERP P))
(NOT (NUMBERP J))
(PRIME P)
(NUMBERP A)
(NOT (EQUAL A 0))
(EQUAL (TIMES J X) A)
(NOT (NUMBERP X)))
(EQUAL (COMPLEMENT J A P) 0)),
which we again simplify, applying the lemma TIMES-ZERO2, and
expanding NUMBERP and EQUAL, to:
T.
Case 3.2.1.
(IMPLIES (AND (NOT (NUMBERP P))
(NOT (NUMBERP J))
(PRIME P)
(NUMBERP A)
(NOT (EQUAL A 0))
(EQUAL (TIMES J X) A)
(NUMBERP X))
(EQUAL (COMPLEMENT J A P) X)),
which again simplifies, rewriting with EQUAL-TIMES-0, to:
T.
Case 3.1.
(IMPLIES
(AND (NUMBERP Z)
(EQUAL (LESSP Z P) (NOT (ZEROP P)))
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(EQUAL Z 0)
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER (TIMES (PLUS Z (TIMES P V)) X)
P)
(REMAINDER A P)))
(EQUAL (COMPLEMENT (PLUS Z (TIMES P V)) A P)
(REMAINDER X P))).
This simplifies further, applying ASSOCIATIVITY-OF-TIMES and
REMAINDER-TIMES, and opening up NUMBERP, EQUAL, LESSP, ZEROP, NOT,
and PLUS, to:
T.
Case 2. (IMPLIES (AND (EQUAL (REMAINDER (TIMES J (COMPLEMENT J A P))
P)
(REMAINDER A P))
(EQUAL (REMAINDER J P) 0)
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))).
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, replace A by
(PLUS Z (TIMES P V)) to eliminate (REMAINDER A P) and
(QUOTIENT A P). We employ LESSP-REMAINDER2, the type restriction
lemma noted when REMAINDER was introduced, and the type restriction
lemma noted when QUOTIENT was introduced to restrict the new
variables. The result is four new formulas:
Case 2.4.
(IMPLIES (AND (NOT (NUMBERP A))
(EQUAL (REMAINDER (TIMES J (COMPLEMENT J A P))
P)
(REMAINDER A P))
(EQUAL (REMAINDER J P) 0)
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))),
which further simplifies, applying PRIME-KEY-REWRITE, and
expanding the functions LESSP, REMAINDER, and EQUAL, to:
T.
Case 2.3.
(IMPLIES (AND (EQUAL P 0)
(EQUAL (REMAINDER (TIMES J (COMPLEMENT J A P))
P)
(REMAINDER A P))
(EQUAL (REMAINDER J P) 0)
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))),
which further simplifies, opening up the functions EQUAL,
REMAINDER, and PRIME, to:
T.
Case 2.2.
(IMPLIES (AND (NOT (NUMBERP P))
(EQUAL (REMAINDER (TIMES J (COMPLEMENT J A P))
P)
(REMAINDER A P))
(EQUAL (REMAINDER J P) 0)
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER A P)))
(EQUAL (COMPLEMENT J A P)
(REMAINDER X P))).
However this further simplifies, applying REMAINDER-WRT-12, and
unfolding EQUAL, to the following four new goals:
Case 2.2.4.
(IMPLIES (AND (NOT (NUMBERP P))
(NUMBERP A)
(EQUAL (TIMES J (COMPLEMENT J A P)) A)
(EQUAL J 0)
(PRIME P)
(NOT (EQUAL A 0))
(EQUAL (TIMES 0 X) A)
(NOT (NUMBERP X)))
(EQUAL (COMPLEMENT 0 A P) 0)).
However this simplifies again, using linear arithmetic, to:
T.
Case 2.2.3.
(IMPLIES (AND (NOT (NUMBERP P))
(NUMBERP A)
(EQUAL (TIMES J (COMPLEMENT J A P)) A)
(EQUAL J 0)
(PRIME P)
(NOT (EQUAL A 0))
(EQUAL (TIMES 0 X) A)
(NUMBERP X))
(EQUAL (COMPLEMENT 0 A P) X)).
However this simplifies again, using linear arithmetic, to:
T.
Case 2.2.2.
(IMPLIES (AND (NOT (NUMBERP P))
(NUMBERP A)
(EQUAL (TIMES J (COMPLEMENT J A P)) A)
(NOT (NUMBERP J))
(PRIME P)
(NOT (EQUAL A 0))
(EQUAL (TIMES J X) A)
(NOT (NUMBERP X)))
(EQUAL (COMPLEMENT J A P) 0)),
which again simplifies, rewriting with TIMES-ZERO2 and
EQUAL-TIMES-0, and unfolding the functions NUMBERP and EQUAL,
to:
T.
Case 2.2.1.
(IMPLIES (AND (NOT (NUMBERP P))
(NUMBERP A)
(EQUAL (TIMES J (COMPLEMENT J A P)) A)
(NOT (NUMBERP J))
(PRIME P)
(NOT (EQUAL A 0))
(EQUAL (TIMES J X) A)
(NUMBERP X))
(EQUAL (COMPLEMENT J A P) X)),
which again simplifies, rewriting with EQUAL-TIMES-0, to:
T.
Case 2.1.
(IMPLIES
(AND
(NUMBERP Z)
(EQUAL (LESSP Z P) (NOT (ZEROP P)))
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(EQUAL
(REMAINDER (TIMES J
(COMPLEMENT J (PLUS Z (TIMES P V)) P))
P)
Z)
(EQUAL (REMAINDER J P) 0)
(PRIME P)
(NOT (EQUAL Z 0))
(EQUAL (REMAINDER (TIMES J X) P) Z))
(EQUAL (COMPLEMENT J (PLUS Z (TIMES P V)) P)
(REMAINDER X P))).
However this further simplifies, applying the lemmas
LESSP-REMAINDER2, COMMUTATIVITY-OF-PLUS, and PRIME-KEY-REWRITE,
and unfolding the definitions of ZEROP, NOT, and EQUAL, to:
T.
Case 1. (IMPLIES (AND (EQUAL (REMAINDER (TIMES J (COMPLEMENT J A P))
P)
(REMAINDER A P))
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ P (COMPLEMENT J A P))
(EQUAL (REMAINDER X P) 0)
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER (TIMES J X) P)
(REMAINDER A P)))
(EQUAL (COMPLEMENT J A P) 0)).
But this simplifies again, using linear arithmetic and rewriting
with BOUNDED-COMPLEMENT, to:
T.
Q.E.D.
[ 201.90612 1.53190105 ]
COMPLEMENT-IS-UNIQUE
(TOGGLE SQUARES-OFF SQUARES T)
[ 7.03125E-3 0.0 ]
SQUARES-OFF
(PROVE-LEMMA NO-SELF-COMPLEMENT
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P J))
(NOT (DIVIDES P A))
(NOT (RESIDUE A P)))
(NOT (EQUAL J (COMPLEMENT J A P))))
((USE (COMPLEMENT-WORKS)
(ALL-SQUARES (X (REMAINDER A P))
(Y J)))
(DISABLE COMPLEMENT-WORKS ALL-SQUARES PRIME1)))
This formula can be simplified, using the abbreviations NOT, PRIME,
IMPLIES, AND, and DIVIDES, to:
(IMPLIES
(AND (IMPLIES (AND (PRIME P)
(NOT (EQUAL (REMAINDER J P) 0)))
(EQUAL (REMAINDER (TIMES J (COMPLEMENT J A P))
P)
(REMAINDER A P)))
(IMPLIES (AND (NOT (ZEROP P))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P))))
(NOT (EQUAL (REMAINDER A P)
(REMAINDER (TIMES J J) P))))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER J P) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (RESIDUE A P)))
(NOT (EQUAL J (COMPLEMENT J A P)))).
This simplifies, using linear arithmetic, appealing to the lemmas
REMAINDER-0-CROCK, DIFFERENCE-0, and BOUNDED-COMPLEMENT, and
expanding PRIME, REMAINDER, NOT, AND, IMPLIES, ZEROP, DIVIDES,
RESIDUE, TIMES, and EQUAL, to:
T.
Q.E.D.
[ 98.708008 0.1 ]
NO-SELF-COMPLEMENT
(PROVE-LEMMA COMPLEMENT-OF-COMPLEMENT
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P J))
(NOT (DIVIDES P A)))
(EQUAL (COMPLEMENT (COMPLEMENT J A P) A P)
(REMAINDER J P)))
((USE (COMPLEMENT-WORKS)
(COMPLEMENT-IS-UNIQUE (J (COMPLEMENT J A P))
(X J)))
(DISABLE COMPLEMENT-WORKS COMPLEMENT-IS-UNIQUE)))
This conjecture can be simplified, using the abbreviations NOT, PRIME,
IMPLIES, AND, and DIVIDES, to:
(IMPLIES
(AND
(IMPLIES (AND (PRIME P)
(NOT (EQUAL (REMAINDER J P) 0)))
(EQUAL (REMAINDER (TIMES J (COMPLEMENT J A P))
P)
(REMAINDER A P)))
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(EQUAL (REMAINDER (TIMES (COMPLEMENT J A P) J)
P)
(REMAINDER A P))))
(EQUAL (COMPLEMENT (COMPLEMENT J A P) A P)
(REMAINDER J P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER J P) 0))
(NOT (EQUAL (REMAINDER A P) 0)))
(EQUAL (COMPLEMENT (COMPLEMENT J A P) A P)
(REMAINDER J P))),
which simplifies, rewriting with COMMUTATIVITY-OF-TIMES, and opening
up the functions PRIME, NOT, AND, and IMPLIES, to:
T.
Q.E.D.
[ 156.217903 0.090071615 ]
COMPLEMENT-OF-COMPLEMENT
(DEFN COMP-LIST
(I A P)
(IF (ZEROP I)
NIL
(IF (MEMBER I (COMP-LIST (SUB1 I) A P))
(COMP-LIST (SUB1 I) A P)
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition
of ZEROP can be used to establish that the measure (COUNT I)
decreases according to the well-founded relation LESSP in each
recursive call. Hence, COMP-LIST is accepted under the definitional
principle. Observe that:
(OR (LITATOM (COMP-LIST I A P))
(LISTP (COMP-LIST I A P)))
is a theorem.
[ 0.82285156 0.0500651044 ]
COMP-LIST
(PROVE-LEMMA ALL-NON-ZEROP-COMP-LIST
(REWRITE)
(IMPLIES (AND (PRIME P)
(LESSP I P)
(NOT (DIVIDES P A)))
(ALL-NON-ZEROP (COMP-LIST I A P)))
((USE (NON-ZEROP-COMPLEMENT (J I)))
(INDUCT (COMP-LIST I A P))))
This conjecture can be simplified, using the abbreviation DIVIDES, to:
(IMPLIES
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER I P) 0))
(NOT (EQUAL (REMAINDER A P) 0))))
(NOT (ZEROP (COMPLEMENT I A P))))
(AND
(OR (NOT (ZEROP I))
(IMPLIES (AND (PRIME P)
(AND (LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))))
(ALL-NON-ZEROP (COMP-LIST I A P))))
(AND
(OR
(ZEROP I)
(OR
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))
(OR
(NOT (IMPLIES (AND (PRIME P)
(AND (LESSP (SUB1 I) P)
(NOT (EQUAL (REMAINDER A P) 0))))
(ALL-NON-ZEROP (COMP-LIST (SUB1 I) A P))))
(IMPLIES (AND (PRIME P)
(AND (LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))))
(ALL-NON-ZEROP (COMP-LIST I A P))))))
(OR
(ZEROP I)
(OR
(MEMBER I (COMP-LIST (SUB1 I) A P))
(OR
(NOT (IMPLIES (AND (PRIME P)
(AND (LESSP (SUB1 I) P)
(NOT (EQUAL (REMAINDER A P) 0))))
(ALL-NON-ZEROP (COMP-LIST (SUB1 I) A P))))
(IMPLIES (AND (PRIME P)
(AND (LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))))
(ALL-NON-ZEROP (COMP-LIST I A P))))))))),
which simplifies, rewriting with REMAINDER-WRT-12 and REMAINDER-WRT-1,
and opening up the functions PRIME, NOT, AND, ZEROP, IMPLIES, EQUAL,
LESSP, REMAINDER, COMP-LIST, OR, SUB1, and NUMBERP, to ten new
formulas:
Case 10.(IMPLIES (AND (EQUAL (REMAINDER I P) 0)
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
( LEQ P (SUB1 I))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER I (COMP-LIST (SUB1 I) A P)))
(ALL-NON-ZEROP (COMP-LIST (SUB1 I) A P))).
This again simplifies, using linear arithmetic, to:
T.
Case 9. (IMPLIES (AND (EQUAL (REMAINDER I P) 0)
(NOT (NUMBERP I))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))
(ALL-NON-ZEROP NIL)),
which we again simplify, expanding the functions LESSP, REMAINDER,
EQUAL, and ALL-NON-ZEROP, to:
T.
Case 8. (IMPLIES (AND (EQUAL (REMAINDER I P) 0)
(EQUAL I 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))
(ALL-NON-ZEROP NIL)).
However this simplifies again, rewriting with REMAINDER-0-CROCK,
and unfolding the functions EQUAL, LESSP, and ALL-NON-ZEROP, to:
T.
Case 7. (IMPLIES
(AND (EQUAL (REMAINDER I P) 0)
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
( LEQ P (SUB1 I))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(ALL-NON-ZEROP (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))).
But this simplifies again, using linear arithmetic, to:
T.
Case 6. (IMPLIES
(AND (EQUAL (REMAINDER I P) 0)
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(ALL-NON-ZEROP (COMP-LIST (SUB1 I) A P))
(LESSP I P)
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(ALL-NON-ZEROP (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))).
However this simplifies again, unfolding the function REMAINDER, to:
T.
Case 5. (IMPLIES (AND (NOT (EQUAL (COMPLEMENT I A P) 0))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
( LEQ P (SUB1 I))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER I (COMP-LIST (SUB1 I) A P)))
(ALL-NON-ZEROP (COMP-LIST (SUB1 I) A P))),
which we again simplify, using linear arithmetic, to:
T.
Case 4. (IMPLIES (AND (NOT (EQUAL (COMPLEMENT I A P) 0))
(NOT (NUMBERP I))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))
(ALL-NON-ZEROP NIL)).
This simplifies again, opening up LESSP and ALL-NON-ZEROP, to:
T.
Case 3. (IMPLIES (AND (NOT (EQUAL (COMPLEMENT I A P) 0))
(EQUAL I 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))
(ALL-NON-ZEROP NIL)),
which again simplifies, expanding the definitions of EQUAL, LESSP,
and ALL-NON-ZEROP, to:
T.
Case 2. (IMPLIES
(AND (NOT (EQUAL (COMPLEMENT I A P) 0))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
( LEQ P (SUB1 I))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(ALL-NON-ZEROP (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))),
which we again simplify, using linear arithmetic, to:
T.
Case 1. (IMPLIES
(AND (NOT (EQUAL (COMPLEMENT I A P) 0))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(ALL-NON-ZEROP (COMP-LIST (SUB1 I) A P))
(LESSP I P)
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(ALL-NON-ZEROP (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))).
But this simplifies again, applying CDR-CONS and CAR-CONS, and
opening up ALL-NON-ZEROP, to:
T.
Q.E.D.
[ 221.766928 0.606054686 ]
ALL-NON-ZEROP-COMP-LIST
(PROVE-LEMMA BOUNDED-COMP-LIST
(REWRITE)
(IMPLIES (LESSP I P)
(ALL-LESSEQP (COMP-LIST I A P)
(SUB1 P)))
((USE (BOUNDED-COMPLEMENT (J I)))
(INDUCT (COMP-LIST I A P))))
This conjecture simplifies, applying SUB1-NNUMBERP, and expanding
ZEROP, NOT, IMPLIES, EQUAL, LESSP, SUB1, OR, AND, and COMP-LIST, to
the following five new goals:
Case 5. (IMPLIES (AND (LESSP (COMPLEMENT I A P) P)
(NOT (NUMBERP I))
(NOT (EQUAL P 0))
(NUMBERP P))
(ALL-LESSEQP NIL (SUB1 P))),
which again simplifies, rewriting with
PIGEON-HOLE-PRINCIPLE-LEMMA-2 and ADD1-SUB1, and expanding the
functions ALL-LESSEQP, MEMBER, and LISTP, to:
T.
Case 4. (IMPLIES (AND (LESSP (COMPLEMENT I A P) P)
(EQUAL I 0)
(NOT (EQUAL P 0))
(NUMBERP P))
(ALL-LESSEQP NIL (SUB1 P))),
which we again simplify, applying PIGEON-HOLE-PRINCIPLE-LEMMA-2 and
ADD1-SUB1, and opening up ALL-LESSEQP, MEMBER, and LISTP, to:
T.
Case 3. (IMPLIES (AND (LESSP (COMPLEMENT I A P) P)
(NOT (EQUAL I 0))
(NUMBERP I)
( LEQ P (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(MEMBER I (COMP-LIST (SUB1 I) A P)))
(ALL-LESSEQP (COMP-LIST (SUB1 I) A P)
(SUB1 P))),
which we again simplify, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (LESSP (COMPLEMENT I A P) P)
(NOT (EQUAL I 0))
(NUMBERP I)
( LEQ P (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(ALL-LESSEQP (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))
(SUB1 P))).
However this again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (LESSP (COMPLEMENT I A P) P)
(NOT (EQUAL I 0))
(NUMBERP I)
(ALL-LESSEQP (COMP-LIST (SUB1 I) A P)
(SUB1 P))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(ALL-LESSEQP (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))
(SUB1 P))).
But this simplifies again, applying CDR-CONS and CAR-CONS, and
unfolding the definition of ALL-LESSEQP, to two new goals:
Case 1.2.
(IMPLIES (AND (LESSP (COMPLEMENT I A P) P)
(NOT (EQUAL I 0))
(NUMBERP I)
(ALL-LESSEQP (COMP-LIST (SUB1 I) A P)
(SUB1 P))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
( LEQ I (SUB1 P))),
which we again simplify, using linear arithmetic, to:
T.
Case 1.1.
(IMPLIES (AND (LESSP (COMPLEMENT I A P) P)
(NOT (EQUAL I 0))
(NUMBERP I)
(ALL-LESSEQP (COMP-LIST (SUB1 I) A P)
(SUB1 P))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
( LEQ (COMPLEMENT I A P) (SUB1 P))).
This simplifies again, using linear arithmetic, to:
T.
Q.E.D.
[ 29.775716 1.29518229 ]
BOUNDED-COMP-LIST
(PROVE-LEMMA SUBSETP-POSITIVES-COMP-LIST
(REWRITE)
(SUBSETP (POSITIVES N)
(COMP-LIST N A P)))
Name the conjecture *1.
Perhaps we can prove it by induction. The recursive terms in
the conjecture suggest two inductions. However, they merge into one
likely candidate induction. We will induct according to the
following scheme:
(AND (IMPLIES (ZEROP N) (P N A P))
(IMPLIES (AND (NOT (ZEROP N))
(MEMBER N (COMP-LIST (SUB1 N) A P))
(P (SUB1 N) A P))
(P N A P))
(IMPLIES (AND (NOT (ZEROP N))
(NOT (MEMBER N (COMP-LIST (SUB1 N) A P)))
(P (SUB1 N) A P))
(P N A P))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of
ZEROP inform us that the measure (COUNT N) decreases according to the
well-founded relation LESSP in each induction step of the scheme.
The above induction scheme produces three new formulas:
Case 3. (IMPLIES (ZEROP N)
(SUBSETP (POSITIVES N)
(COMP-LIST N A P))).
This simplifies, opening up the definitions of ZEROP, POSITIVES,
EQUAL, COMP-LIST, and SUBSETP, to:
T.
Case 2. (IMPLIES (AND (NOT (ZEROP N))
(MEMBER N (COMP-LIST (SUB1 N) A P))
(SUBSETP (POSITIVES (SUB1 N))
(COMP-LIST (SUB1 N) A P)))
(SUBSETP (POSITIVES N)
(COMP-LIST N A P))),
which we simplify, rewriting with the lemmas CDR-CONS and CAR-CONS,
and unfolding the functions ZEROP, POSITIVES, COMP-LIST, and
SUBSETP, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP N))
(NOT (MEMBER N (COMP-LIST (SUB1 N) A P)))
(SUBSETP (POSITIVES (SUB1 N))
(COMP-LIST (SUB1 N) A P)))
(SUBSETP (POSITIVES N)
(COMP-LIST N A P))).
This simplifies, appealing to the lemmas SUBSETP-CONS, CDR-CONS,
and CAR-CONS, and opening up ZEROP, POSITIVES, COMP-LIST, MEMBER,
and SUBSETP, to:
T.
That finishes the proof of *1. Q.E.D.
[ 3.730013 0.25403646 ]
SUBSETP-POSITIVES-COMP-LIST
(PROVE-LEMMA COMP-LIST-CLOSED-1 NIL
(IMPLIES (AND (PRIME P)
(NOT (ZEROP I))
(LESSP I P)
(NOT (DIVIDES P A))
(MEMBER J (COMP-LIST I A P)))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST I A P)))
((USE (COMPLEMENT-OF-COMPLEMENT (J I)))
(INDUCT (COMP-LIST I A P))
(DISABLE COMPLEMENT-OF-COMPLEMENT)))
This conjecture can be simplified, using the abbreviation DIVIDES, to:
(IMPLIES
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER I P) 0))
(NOT (EQUAL (REMAINDER A P) 0))))
(EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
(REMAINDER I P)))
(AND
(OR
(NOT (ZEROP I))
(IMPLIES (AND (PRIME P)
(AND (NOT (ZEROP I))
(AND (LESSP I P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(MEMBER J (COMP-LIST I A P))))))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST I A P))))
(AND
(OR
(ZEROP I)
(OR
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))
(OR
(NOT
(IMPLIES
(AND
(PRIME P)
(AND (NOT (ZEROP (SUB1 I)))
(AND (LESSP (SUB1 I) P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(MEMBER J
(COMP-LIST (SUB1 I) A P))))))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P))))
(IMPLIES
(AND (PRIME P)
(AND (NOT (ZEROP I))
(AND (LESSP I P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(MEMBER J (COMP-LIST I A P))))))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST I A P))))))
(OR
(ZEROP I)
(OR
(MEMBER I (COMP-LIST (SUB1 I) A P))
(OR
(NOT
(IMPLIES
(AND
(PRIME P)
(AND (NOT (ZEROP (SUB1 I)))
(AND (LESSP (SUB1 I) P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(MEMBER J
(COMP-LIST (SUB1 I) A P))))))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P))))
(IMPLIES
(AND (PRIME P)
(AND (NOT (ZEROP I))
(AND (LESSP I P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(MEMBER J (COMP-LIST I A P))))))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST I A P))))))))).
This simplifies, applying REMAINDER-WRT-12 and REMAINDER-WRT-1, and
unfolding PRIME, NOT, AND, IMPLIES, ZEROP, EQUAL, LESSP, REMAINDER,
COMP-LIST, OR, SUB1, and NUMBERP, to 20 new goals:
Case 20.(IMPLIES (AND (EQUAL (REMAINDER I P) 0)
(NOT (EQUAL I 0))
(NUMBERP I))
(OR F T)),
which we again simplify, expanding the function OR, to:
T.
Case 19.(IMPLIES (AND (EQUAL (REMAINDER I P) 0)
(EQUAL I 0))
(OR T T)).
However this simplifies again, rewriting with REMAINDER-0-CROCK,
and unfolding the functions EQUAL and OR, to:
T.
Case 18.(IMPLIES (AND (EQUAL (REMAINDER I P) 0)
(NOT (NUMBERP I)))
(OR T T)).
But this simplifies again, expanding LESSP, REMAINDER, EQUAL, and
OR, to:
T.
Case 17.(IMPLIES (AND (EQUAL (REMAINDER I P) 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER J (COMP-LIST (SUB1 I) A P))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P))
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(MEMBER I (COMP-LIST (SUB1 I) A P)))
(OR F
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P)))),
which we again simplify, opening up REMAINDER, to:
T.
Case 16.(IMPLIES (AND (EQUAL (REMAINDER I P) 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
( LEQ P (SUB1 I))
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER I (COMP-LIST (SUB1 I) A P))
(MEMBER J (COMP-LIST (SUB1 I) A P)))
(OR F
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P)))),
which again simplifies, using linear arithmetic, to:
T.
Case 15.(IMPLIES (AND (EQUAL (REMAINDER I P) 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(EQUAL (SUB1 I) 0)
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER I (COMP-LIST (SUB1 I) A P))
(MEMBER J (COMP-LIST (SUB1 I) A P)))
(OR F
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P)))),
which we again simplify, opening up REMAINDER, to:
T.
Case 14.(IMPLIES
(AND (EQUAL (REMAINDER I P) 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(EQUAL (SUB1 I) 0)
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))
(MEMBER J
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))
(OR F
(MEMBER (COMPLEMENT J A P)
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))),
which again simplifies, expanding the definition of REMAINDER, to:
T.
Case 13.(IMPLIES
(AND (EQUAL (REMAINDER I P) 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
( LEQ P (SUB1 I))
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))
(MEMBER J
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))
(OR F
(MEMBER (COMPLEMENT J A P)
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))),
which we again simplify, using linear arithmetic, to:
T.
Case 12.(IMPLIES
(AND (EQUAL (REMAINDER I P) 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P))
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))
(MEMBER J
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))
(OR F
(MEMBER (COMPLEMENT J A P)
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))).
But this simplifies again, expanding the function REMAINDER, to:
T.
Case 11.(IMPLIES
(AND (EQUAL (REMAINDER I P) 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER J (COMP-LIST (SUB1 I) A P)))
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))
(MEMBER J
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))
(OR F
(MEMBER (COMPLEMENT J A P)
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))),
which again simplifies, expanding the function REMAINDER, to:
T.
Case 10.(IMPLIES (AND (EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
(REMAINDER I P))
(NOT (EQUAL I 0))
(NUMBERP I))
(OR F T)).
However this simplifies again, opening up OR, to:
T.
Case 9. (IMPLIES (AND (EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
(REMAINDER I P))
(EQUAL I 0))
(OR T T)),
which we again simplify, rewriting with the lemma REMAINDER-0-CROCK,
and expanding the definition of OR, to:
T.
Case 8. (IMPLIES (AND (EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
(REMAINDER I P))
(NOT (NUMBERP I)))
(OR T T)).
This again simplifies, opening up LESSP, REMAINDER, and OR, to:
T.
Case 7. (IMPLIES (AND (EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
(REMAINDER I P))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER J (COMP-LIST (SUB1 I) A P))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P))
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(MEMBER I (COMP-LIST (SUB1 I) A P)))
(OR F
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P)))),
which we again simplify, opening up the definitions of REMAINDER
and OR, to:
T.
Case 6. (IMPLIES (AND (EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
(REMAINDER I P))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
( LEQ P (SUB1 I))
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER I (COMP-LIST (SUB1 I) A P))
(MEMBER J (COMP-LIST (SUB1 I) A P)))
(OR F
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P)))),
which we again simplify, using linear arithmetic, to:
T.
Case 5. (IMPLIES (AND (EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
(REMAINDER I P))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(EQUAL (SUB1 I) 0)
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER I (COMP-LIST (SUB1 I) A P))
(MEMBER J (COMP-LIST (SUB1 I) A P)))
(OR F
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P)))),
which we again simplify, expanding the functions REMAINDER, EQUAL,
COMP-LIST, LISTP, and MEMBER, to:
T.
Case 4. (IMPLIES
(AND (EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
(REMAINDER I P))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(EQUAL (SUB1 I) 0)
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))
(MEMBER J
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))
(OR F
(MEMBER (COMPLEMENT J A P)
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))),
which we again simplify, applying the lemmas CDR-CONS and CAR-CONS,
and expanding REMAINDER, EQUAL, COMP-LIST, LISTP, MEMBER, and OR,
to the formula:
(IMPLIES (AND (EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
I)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(EQUAL (SUB1 I) 0)
(NOT (EQUAL I 0))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL J (COMPLEMENT I A P))
(NOT (EQUAL (COMPLEMENT J A P) I)))
(EQUAL (COMPLEMENT J A P) J)).
Of course, this simplifies again, clearly, to:
T.
Case 3. (IMPLIES
(AND (EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
(REMAINDER I P))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
( LEQ P (SUB1 I))
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))
(MEMBER J
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))
(OR F
(MEMBER (COMPLEMENT J A P)
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))),
which we again simplify, using linear arithmetic, to:
T.
Case 2. (IMPLIES
(AND (EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
(REMAINDER I P))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P))
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))
(MEMBER J
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))
(OR F
(MEMBER (COMPLEMENT J A P)
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))).
This again simplifies, applying CDR-CONS and CAR-CONS, and
expanding the functions REMAINDER, MEMBER, and OR, to:
T.
Case 1. (IMPLIES
(AND (EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
(REMAINDER I P))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER J (COMP-LIST (SUB1 I) A P)))
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))
(MEMBER J
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))
(OR F
(MEMBER (COMPLEMENT J A P)
(CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))))).
This again simplifies, applying CDR-CONS and CAR-CONS, and
expanding the functions REMAINDER, MEMBER, and OR, to:
(IMPLIES (AND (EQUAL (COMPLEMENT (COMPLEMENT I A P) A P)
I)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER J (COMP-LIST (SUB1 I) A P)))
(NOT (EQUAL I 0))
(LESSP I P)
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))
(EQUAL J (COMPLEMENT I A P))
(NOT (EQUAL (COMPLEMENT J A P) I))
(NOT (EQUAL (COMPLEMENT J A P) J)))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST (SUB1 I) A P))).
Of course, this simplifies again, trivially, to:
T.
Q.E.D.
[ 709.93236 2.24759114 ]
COMP-LIST-CLOSED-1
(PROVE-LEMMA COMP-LIST-CLOSED-2 NIL
(IMPLIES (AND (PRIME P)
(NOT (ZEROP I))
(NOT (ZEROP J))
(LESSP I P)
(LESSP J P)
(NOT (DIVIDES P A))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST I A P)))
(MEMBER J (COMP-LIST I A P)))
((USE (COMPLEMENT-OF-COMPLEMENT)
(COMP-LIST-CLOSED-1 (J (COMPLEMENT J A P))))
(DISABLE COMPLEMENT-OF-COMPLEMENT COMP-LIST)))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
PRIME, IMPLIES, AND, and DIVIDES, to the new conjecture:
(IMPLIES
(AND
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER J P) 0))
(NOT (EQUAL (REMAINDER A P) 0))))
(EQUAL (COMPLEMENT (COMPLEMENT J A P) A P)
(REMAINDER J P)))
(IMPLIES (AND (PRIME P)
(AND (NOT (ZEROP I))
(AND (LESSP I P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST I A P))))))
(MEMBER (COMPLEMENT (COMPLEMENT J A P) A P)
(COMP-LIST I A P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(LESSP I P)
(LESSP J P)
(NOT (EQUAL (REMAINDER A P) 0))
(MEMBER (COMPLEMENT J A P)
(COMP-LIST I A P)))
(MEMBER J (COMP-LIST I A P))).
This simplifies, opening up the functions PRIME, REMAINDER, NOT, AND,
IMPLIES, and ZEROP, to:
T.
Q.E.D.
[ 47.138086 0.104947916 ]
COMP-LIST-CLOSED-2
(PROVE-LEMMA ALL-DISTINCT-COMP-LIST-1 NIL
(IMPLIES (AND (PRIME P)
(LESSP I P)
(NOT (DIVIDES P A))
(NOT (RESIDUE A P))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P)))
(ALL-DISTINCT (COMP-LIST I A P)))
((USE (COMP-LIST-CLOSED-2 (J I)
(I (SUB1 I)))
(NO-SELF-COMPLEMENT (J I)))
(DISABLE PRIME)))
This conjecture can be simplified, using the abbreviations NOT,
IMPLIES, AND, and DIVIDES, to:
(IMPLIES
(AND
(IMPLIES
(AND
(PRIME P)
(AND
(NOT (ZEROP (SUB1 I)))
(AND (NOT (ZEROP I))
(AND (LESSP (SUB1 I) P)
(AND (LESSP I P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(MEMBER (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))))))
(MEMBER I (COMP-LIST (SUB1 I) A P)))
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER I P) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(NOT (RESIDUE A P)))))
(NOT (EQUAL I (COMPLEMENT I A P))))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (RESIDUE A P))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P)))
(ALL-DISTINCT (COMP-LIST I A P))).
This simplifies, applying SUB1-NNUMBERP and REMAINDER-0-CROCK, and
unfolding ZEROP, NOT, AND, IMPLIES, REMAINDER, DIVIDES, RESIDUE,
EQUAL, COMP-LIST, ALL-DISTINCT, LISTP, MEMBER, LESSP, and SUB1, to 11
new goals:
Case 11.(IMPLIES (AND (EQUAL (SUB1 I) 0)
(NOT (EQUAL I (COMPLEMENT I A P)))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(NOT (EQUAL I 0))
(NUMBERP I))
(ALL-DISTINCT (LIST I (COMPLEMENT I A P)))),
which we again simplify, using linear arithmetic, applying
NO-SELF-COMPLEMENT, CDR-CONS, and CAR-CONS, and opening up RESIDUE,
DIVIDES, REMAINDER, LISTP, MEMBER, and ALL-DISTINCT, to:
T.
Case 10.(IMPLIES (AND (EQUAL (SUB1 I) 0)
(NOT (EQUAL I (COMPLEMENT I A P)))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(EQUAL I 0))
(ALL-DISTINCT NIL)),
which we again simplify, unfolding SUB1, EQUAL, LESSP, and
ALL-DISTINCT, to:
T.
Case 9. (IMPLIES (AND (EQUAL (SUB1 I) 0)
(NOT (EQUAL I (COMPLEMENT I A P)))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(NOT (NUMBERP I)))
(ALL-DISTINCT NIL)).
But this again simplifies, rewriting with SUB1-NNUMBERP, and
expanding EQUAL, LESSP, and ALL-DISTINCT, to:
T.
Case 8. (IMPLIES
(AND ( LEQ P (SUB1 I))
(NOT (EQUAL I (COMPLEMENT I A P)))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(ALL-DISTINCT (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))),
which we again simplify, using linear arithmetic, to:
T.
Case 7. (IMPLIES (AND ( LEQ P (SUB1 I))
(NOT (EQUAL I (COMPLEMENT I A P)))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))
(EQUAL I 0))
(ALL-DISTINCT NIL)),
which we again simplify, expanding the definitions of SUB1, EQUAL,
LESSP, and PRIME, to:
T.
Case 6. (IMPLIES (AND ( LEQ P (SUB1 I))
(NOT (EQUAL I (COMPLEMENT I A P)))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))
(NOT (NUMBERP I)))
(ALL-DISTINCT NIL)),
which we again simplify, using linear arithmetic, to the new
formula:
(IMPLIES (AND (LESSP I 1)
( LEQ P (SUB1 I))
(NOT (EQUAL I (COMPLEMENT I A P)))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))
(NOT (NUMBERP I)))
(ALL-DISTINCT NIL)).
This again simplifies, rewriting with SUB1-NNUMBERP, and expanding
the definitions of NUMBERP, EQUAL, LESSP, and PRIME, to:
T.
Case 5. (IMPLIES
(AND (NOT (MEMBER (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))
(NOT (EQUAL I (COMPLEMENT I A P)))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(ALL-DISTINCT (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))).
However this again simplifies, using linear arithmetic, rewriting
with the lemmas NO-SELF-COMPLEMENT, CDR-CONS, and CAR-CONS, and
unfolding the definitions of RESIDUE, DIVIDES, REMAINDER, MEMBER,
and ALL-DISTINCT, to:
T.
Case 4. (IMPLIES (AND (NOT (MEMBER (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))
(NOT (EQUAL I (COMPLEMENT I A P)))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))
(EQUAL I 0))
(ALL-DISTINCT NIL)),
which again simplifies, unfolding SUB1, EQUAL, COMP-LIST, LISTP,
MEMBER, LESSP, and ALL-DISTINCT, to:
T.
Case 3. (IMPLIES (AND (NOT (MEMBER (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P)))
(NOT (EQUAL I (COMPLEMENT I A P)))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))
(NOT (NUMBERP I)))
(ALL-DISTINCT NIL)),
which again simplifies, applying SUB1-NNUMBERP, and expanding the
functions EQUAL, COMP-LIST, LISTP, MEMBER, LESSP, and ALL-DISTINCT,
to:
T.
Case 2. (IMPLIES (AND (MEMBER I (COMP-LIST (SUB1 I) A P))
(NOT (EQUAL I (COMPLEMENT I A P)))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))
(NOT (NUMBERP I)))
(ALL-DISTINCT NIL)),
which again simplifies, applying SUB1-NNUMBERP, and opening up the
definitions of EQUAL, COMP-LIST, LISTP, and MEMBER, to:
T.
Case 1. (IMPLIES (AND (MEMBER I (COMP-LIST (SUB1 I) A P))
(NOT (EQUAL I (COMPLEMENT I A P)))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))
(EQUAL I 0))
(ALL-DISTINCT NIL)).
But this again simplifies, expanding the functions SUB1, EQUAL,
COMP-LIST, and MEMBER, to:
T.
Q.E.D.
[ 132.290234 0.68776042 ]
ALL-DISTINCT-COMP-LIST-1
(PROVE-LEMMA ALL-DISTINCT-COMP-LIST
(REWRITE)
(IMPLIES (AND (PRIME P)
(LESSP I P)
(NOT (DIVIDES P A))
(NOT (RESIDUE A P)))
(ALL-DISTINCT (COMP-LIST I A P)))
((USE (ALL-DISTINCT-COMP-LIST-1))
(INDUCT (POSITIVES I))
(DISABLE PRIME)))
This formula can be simplified, using the abbreviation DIVIDES, to:
(IMPLIES
(IMPLIES
(AND
(PRIME P)
(AND (LESSP I P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(AND (NOT (RESIDUE A P))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))))))
(ALL-DISTINCT (COMP-LIST I A P)))
(AND
(OR (NOT (ZEROP I))
(IMPLIES (AND (PRIME P)
(AND (LESSP I P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(NOT (RESIDUE A P)))))
(ALL-DISTINCT (COMP-LIST I A P))))
(OR
(ZEROP I)
(OR
(NOT
(IMPLIES (AND (PRIME P)
(AND (LESSP (SUB1 I) P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(NOT (RESIDUE A P)))))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))))
(IMPLIES (AND (PRIME P)
(AND (LESSP I P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(NOT (RESIDUE A P)))))
(ALL-DISTINCT (COMP-LIST I A P))))))).
This simplifies, appealing to the lemma SUB1-NNUMBERP, and expanding
NOT, DIVIDES, RESIDUE, AND, COMP-LIST, IMPLIES, ZEROP, LESSP,
ALL-DISTINCT, OR, EQUAL, and SUB1, to the following six new
conjectures:
Case 6. (IMPLIES
(AND (NOT (EQUAL I 0))
(NUMBERP I)
(ALL-DISTINCT (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))
(PRIME P)
( LEQ P (SUB1 I))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P)))
(MEMBER I (COMP-LIST (SUB1 I) A P)))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))).
This simplifies again, using linear arithmetic, to:
T.
Case 5. (IMPLIES (AND (NOT (EQUAL I 0))
(NUMBERP I)
(MEMBER I (COMP-LIST (SUB1 I) A P))
(PRIME P)
( LEQ P (SUB1 I))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P))))
(ALL-DISTINCT (COMP-LIST (SUB1 I) A P))),
which we again simplify, using linear arithmetic, to:
T.
Case 4. (IMPLIES
(AND (NOT (ALL-DISTINCT (COMP-LIST (SUB1 I) A P)))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
( LEQ P (SUB1 I))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P))))
(ALL-DISTINCT (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))).
However this simplifies again, using linear arithmetic, to:
T.
Case 3. (IMPLIES (AND (NOT (ALL-DISTINCT (COMP-LIST (SUB1 I) A P)))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
( LEQ P (SUB1 I))
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P))))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (NOT (ALL-DISTINCT (COMP-LIST (SUB1 I) A P)))
(EQUAL I 0)
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P))))
(ALL-DISTINCT NIL)).
But this simplifies again, expanding SUB1, EQUAL, COMP-LIST, and
ALL-DISTINCT, to:
T.
Case 1. (IMPLIES (AND (NOT (ALL-DISTINCT (COMP-LIST (SUB1 I) A P)))
(NOT (NUMBERP I))
(PRIME P)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P))))
(ALL-DISTINCT NIL)),
which we again simplify, rewriting with the lemma SUB1-NNUMBERP,
and expanding the definitions of EQUAL, COMP-LIST, and ALL-DISTINCT,
to:
T.
Q.E.D.
[ 55.043034 0.360026043 ]
ALL-DISTINCT-COMP-LIST
(PROVE-LEMMA PERM-POSITIVES-COMP-LIST
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P A))
(NOT (RESIDUE A P)))
(PERM (POSITIVES (SUB1 P))
(COMP-LIST (SUB1 P) A P))))
This conjecture can be simplified, using the abbreviations NOT, PRIME,
AND, IMPLIES, and DIVIDES, to:
(IMPLIES (AND (NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (RESIDUE A P)))
(PERM (POSITIVES (SUB1 P))
(COMP-LIST (SUB1 P) A P))).
This simplifies, using linear arithmetic, applying
SUBSETP-POSITIVES-COMP-LIST, BOUNDED-COMP-LIST,
ALL-NON-ZEROP-COMP-LIST, ALL-DISTINCT-COMP-LIST, and PIGEONHOLE2, and
unfolding DIVIDES, RESIDUE, and PRIME, to:
T.
Q.E.D.
[ 33.3210936 0.118945313 ]
PERM-POSITIVES-COMP-LIST
(PROVE-LEMMA COMP-LIST-FACT
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P A))
(NOT (RESIDUE A P)))
(EQUAL (TIMES-LIST (COMP-LIST (SUB1 P) A P))
(FACT (SUB1 P))))
((USE (TIMES-LIST-EQUAL-FACT (N (SUB1 P))
(L (COMP-LIST (SUB1 P) A P))))
(DISABLE TIMES-LIST-EQUAL-FACT COMP-LIST)))
This formula can be simplified, using the abbreviations NOT, PRIME,
AND, IMPLIES, and DIVIDES, to:
(IMPLIES
(AND (IMPLIES (PERM (POSITIVES (SUB1 P))
(COMP-LIST (SUB1 P) A P))
(EQUAL (TIMES-LIST (COMP-LIST (SUB1 P) A P))
(FACT (SUB1 P))))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (RESIDUE A P)))
(EQUAL (TIMES-LIST (COMP-LIST (SUB1 P) A P))
(FACT (SUB1 P)))).
This simplifies, using linear arithmetic, applying
PERM-POSITIVES-COMP-LIST, and expanding DIVIDES, PRIME, and IMPLIES,
to:
T.
Q.E.D.
[ 14.6470703 0.070963542 ]
COMP-LIST-FACT
(PROVE-LEMMA TIMES-MOD-4 NIL
(IMPLIES (EQUAL (REMAINDER (TIMES I J) P)
(REMAINDER A P))
(EQUAL (REMAINDER (TIMES I (TIMES J K)) P)
(REMAINDER (TIMES A (REMAINDER K P))
P)))
((USE (TIMES-MOD-3 (A (TIMES I J))
(B K)
(N P)))
(DISABLE TIMES-MOD-3)))
This formula can be simplified, using the abbreviations IMPLIES,
TIMES-MOD-1, and ASSOCIATIVITY-OF-TIMES, to the new conjecture:
(IMPLIES
(AND (EQUAL (REMAINDER (TIMES (REMAINDER (TIMES I J) P) K)
P)
(REMAINDER (TIMES I (TIMES J K)) P))
(EQUAL (REMAINDER (TIMES I J) P)
(REMAINDER A P)))
(EQUAL (REMAINDER (TIMES I (TIMES J K)) P)
(REMAINDER (TIMES A K) P))).
This simplifies, rewriting with COMMUTATIVITY-OF-TIMES and
TIMES-MOD-1, to:
T.
Q.E.D.
[ 10.335026 0.052994792 ]
TIMES-MOD-4
(PROVE-LEMMA TIMES-COMP-LIST-1 NIL
(IMPLIES
(AND (EQUAL (REMAINDER (TIMES I (COMPLEMENT I A P))
P)
(REMAINDER A P))
(NOT (ZEROP I))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(EQUAL
(REMAINDER (TIMES-LIST (COMP-LIST I A P))
P)
(REMAINDER (TIMES A
(REMAINDER (TIMES-LIST (COMP-LIST (SUB1 I) A P))
P))
P)))
((USE (TIMES-MOD-4 (J (COMPLEMENT I A P))
(K (TIMES-LIST (COMP-LIST (SUB1 I) A P)))))
(DISABLE COMPLEMENT-WORKS)))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
AND, IMPLIES, and TIMES-MOD-1, to the goal:
(IMPLIES
(AND
(IMPLIES
(EQUAL (REMAINDER (TIMES I (COMPLEMENT I A P))
P)
(REMAINDER A P))
(EQUAL
(REMAINDER
(TIMES I
(TIMES (COMPLEMENT I A P)
(TIMES-LIST (COMP-LIST (SUB1 I) A P))))
P)
(REMAINDER (TIMES A
(TIMES-LIST (COMP-LIST (SUB1 I) A P)))
P)))
(EQUAL (REMAINDER (TIMES I (COMPLEMENT I A P))
P)
(REMAINDER A P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(EQUAL (REMAINDER (TIMES-LIST (COMP-LIST I A P))
P)
(REMAINDER (TIMES A
(TIMES-LIST (COMP-LIST (SUB1 I) A P)))
P))),
which simplifies, applying the lemmas CDR-CONS and CAR-CONS, and
expanding the definitions of IMPLIES, COMP-LIST, and TIMES-LIST, to:
T.
Q.E.D.
[ 44.856901 0.0890625 ]
TIMES-COMP-LIST-1
(PROVE-LEMMA TIMES-COMP-LIST-2 NIL
(IMPLIES
(AND (PRIME P)
(NOT (DIVIDES P I))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(EQUAL
(REMAINDER (TIMES-LIST (COMP-LIST I A P))
P)
(REMAINDER (TIMES A
(REMAINDER (TIMES-LIST (COMP-LIST (SUB1 I) A P))
P))
P)))
((USE (TIMES-COMP-LIST-1)
(COMPLEMENT-WORKS (J I)))
(DISABLE COMPLEMENT-WORKS COMP-LIST TIMES-LIST PRIME)))
This conjecture can be simplified, using the abbreviations NOT,
IMPLIES, AND, DIVIDES, and TIMES-MOD-1, to:
(IMPLIES
(AND
(IMPLIES
(AND (EQUAL (REMAINDER (TIMES I (COMPLEMENT I A P))
P)
(REMAINDER A P))
(AND (NOT (ZEROP I))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))))
(EQUAL
(REMAINDER (TIMES-LIST (COMP-LIST I A P))
P)
(REMAINDER (TIMES A
(TIMES-LIST (COMP-LIST (SUB1 I) A P)))
P)))
(IMPLIES (AND (PRIME P)
(NOT (EQUAL (REMAINDER I P) 0)))
(EQUAL (REMAINDER (TIMES I (COMPLEMENT I A P))
P)
(REMAINDER A P)))
(PRIME P)
(NOT (EQUAL (REMAINDER I P) 0))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(EQUAL (REMAINDER (TIMES-LIST (COMP-LIST I A P))
P)
(REMAINDER (TIMES A
(TIMES-LIST (COMP-LIST (SUB1 I) A P)))
P))),
which simplifies, rewriting with REMAINDER-0-CROCK, TIMES-IDENTITY,
and EQUAL-TIMES-0, and opening up the functions ZEROP, NOT, AND,
IMPLIES, EQUAL, LESSP, and REMAINDER, to:
T.
Q.E.D.
[ 35.0760417 0.100976562 ]
TIMES-COMP-LIST-2
(PROVE-LEMMA QUOTIENT-PLUS-1 NIL
(IMPLIES (AND (NOT (ZEROP N))
(NUMBERP X)
(EQUAL Y (PLUS X N)))
(EQUAL (QUOTIENT Y N)
(ADD1 (QUOTIENT X N)))))
This formula can be simplified, using the abbreviations ZEROP, NOT,
AND, and IMPLIES, to:
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(NUMBERP X)
(EQUAL Y (PLUS X N)))
(EQUAL (QUOTIENT Y N)
(ADD1 (QUOTIENT X N)))).
This simplifies, appealing to the lemmas COMMUTATIVITY-OF-PLUS and
DIFFERENCE-PLUS1, and expanding QUOTIENT, to:
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(NUMBERP X)
(LESSP (PLUS N X) N))
(EQUAL 0 (ADD1 (QUOTIENT X N)))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 1.1889974 1.06497397 ]
QUOTIENT-PLUS-1
(PROVE-LEMMA TIMES-COMP-LIST-3 NIL
(IMPLIES (AND (NOT (ZEROP I))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(EQUAL (QUOTIENT (LENGTH (COMP-LIST I A P))
2.)
(ADD1 (QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2.))))
((USE (QUOTIENT-PLUS-1 (X (LENGTH (COMP-LIST (SUB1 I) A P)))
(Y (LENGTH (COMP-LIST I A P)))
(N 2.)))))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
AND, and IMPLIES, to:
(IMPLIES
(AND
(IMPLIES
(AND (NOT (ZEROP 2))
(AND (NUMBERP (LENGTH (COMP-LIST (SUB1 I) A P)))
(EQUAL (LENGTH (COMP-LIST I A P))
(PLUS (LENGTH (COMP-LIST (SUB1 I) A P))
2))))
(EQUAL (QUOTIENT (LENGTH (COMP-LIST I A P))
2)
(ADD1 (QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2))))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(EQUAL (QUOTIENT (LENGTH (COMP-LIST I A P))
2)
(ADD1 (QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2)))),
which simplifies, rewriting with CDR-CONS, COMMUTATIVITY-OF-PLUS,
DIFFERENCE-2, and SUB1-ADD1, and opening up the functions ZEROP, NOT,
COMP-LIST, LENGTH, AND, LESSP, SUB1, NUMBERP, EQUAL, QUOTIENT, and
IMPLIES, to:
T.
Q.E.D.
[ 12.0200521 0.115039063 ]
TIMES-COMP-LIST-3
(PROVE-LEMMA TIMES-COMP-LIST-4 NIL
(IMPLIES
(AND
(PRIME P)
(NOT (ZEROP I))
(LESSP I P)
(EQUAL (REMAINDER (TIMES-LIST (COMP-LIST (SUB1 I) A P))
P)
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2.))
P)))
(EQUAL (REMAINDER (TIMES-LIST (COMP-LIST I A P))
P)
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST I A P))
2.))
P)))
((USE
(TIMES-COMP-LIST-2)
(TIMES-COMP-LIST-3)
(TIMES-MOD-1 (X A)
(Y (EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2.)))
(N P)))
(DISABLE PRIME TIMES-MOD-1 TIMES-LIST)))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
IMPLIES, AND, and DIVIDES, to the goal:
(IMPLIES
(AND
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER I P) 0))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P)))))
(EQUAL
(REMAINDER (TIMES-LIST (COMP-LIST I A P))
P)
(REMAINDER
(TIMES A
(REMAINDER (TIMES-LIST (COMP-LIST (SUB1 I) A P))
P))
P)))
(IMPLIES
(AND (NOT (ZEROP I))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(EQUAL (QUOTIENT (LENGTH (COMP-LIST I A P))
2)
(ADD1 (QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2))))
(EQUAL
(REMAINDER
(TIMES A
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2))
P))
P)
(REMAINDER
(TIMES A
(EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2)))
P))
(PRIME P)
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(EQUAL
(REMAINDER (TIMES-LIST (COMP-LIST (SUB1 I) A P))
P)
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2))
P)))
(EQUAL (REMAINDER (TIMES-LIST (COMP-LIST I A P))
P)
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST I A P))
2))
P))),
which simplifies, applying the lemmas EQUAL-MODS-TRICK-2,
LESSP-REMAINDER2, REMAINDER-EXP-LEMMA, and EQUAL-MODS-TRICK-1, and
expanding the definitions of REMAINDER, NOT, AND, COMP-LIST, IMPLIES,
ZEROP, and EQUAL, to two new goals:
Case 2. (IMPLIES
(AND
(EQUAL
(REMAINDER
(TIMES-LIST (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))
P)
(REMAINDER
(TIMES A
(REMAINDER (TIMES-LIST (COMP-LIST (SUB1 I) A P))
P))
P))
(EQUAL
(QUOTIENT (LENGTH (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))
2)
(ADD1 (QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2)))
(PRIME P)
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(EQUAL
(REMAINDER (TIMES-LIST (COMP-LIST (SUB1 I) A P))
P)
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2))
P))
(NOT (MEMBER I (COMP-LIST (SUB1 I) A P))))
(EQUAL
(REMAINDER
(TIMES-LIST (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))
P)
(REMAINDER
(EXP A
(QUOTIENT (LENGTH (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))
2))
P))),
which we again simplify, rewriting with CDR-CONS, DIFFERENCE-2,
SUB1-ADD1, EQUAL-MODS-TRICK-2, LESSP-REMAINDER2,
REMAINDER-EXP-LEMMA, and EQUAL-MODS-TRICK-1, and unfolding the
definitions of LENGTH, LESSP, SUB1, NUMBERP, EQUAL, QUOTIENT, EXP,
and REMAINDER, to:
T.
Case 1. (IMPLIES
(AND
(EQUAL
(REMAINDER
(TIMES-LIST (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))
P)
(REMAINDER
(TIMES A
(REMAINDER (TIMES-LIST (COMP-LIST (SUB1 I) A P))
P))
P))
(EQUAL
(QUOTIENT (LENGTH (CONS I
(CONS (COMPLEMENT I A P)
(COMP-LIST (SUB1 I) A P))))
2)
(ADD1 (QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2)))
(PRIME P)
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP I P)
(EQUAL
(REMAINDER (TIMES-LIST (COMP-LIST (SUB1 I) A P))
P)
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2))
P))
(MEMBER I (COMP-LIST (SUB1 I) A P)))
(EQUAL
(REMAINDER (TIMES-LIST (COMP-LIST (SUB1 I) A P))
P)
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2))
P))).
This simplifies again, clearly, to:
T.
Q.E.D.
[ 310.456966 0.513020836 ]
TIMES-COMP-LIST-4
(PROVE-LEMMA TIMES-COMP-LIST-5 NIL
(IMPLIES (ZEROP I)
(EQUAL (REMAINDER (TIMES-LIST (COMP-LIST I A P))
P)
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST I A P))
2.))
P))))
This conjecture simplifies, rewriting with REMAINDER-OF-1 and
EXP-BY-0, and opening up the functions ZEROP, EQUAL, COMP-LIST,
TIMES-LIST, LENGTH, and QUOTIENT, to:
T.
Q.E.D.
[ 3.5641276 0.048958333 ]
TIMES-COMP-LIST-5
(PROVE-LEMMA TIMES-COMP-LIST
(REWRITE)
(IMPLIES (AND (PRIME P) (LESSP I P))
(EQUAL (REMAINDER (TIMES-LIST (COMP-LIST I A P))
P)
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST I A P))
2.))
P)))
((USE (TIMES-COMP-LIST-4)
(TIMES-COMP-LIST-5))
(INDUCT (POSITIVES I))
(DISABLE PRIME REMAINDER TIMES-LIST COMP-LIST QUOTIENT LENGTH)))
This conjecture simplifies, applying SUB1-NNUMBERP, and expanding
ZEROP, NOT, AND, IMPLIES, OR, EQUAL, LESSP, and SUB1, to the new
conjecture:
(IMPLIES
(AND
(NOT
(EQUAL
(REMAINDER (TIMES-LIST (COMP-LIST (SUB1 I) A P))
P)
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 I) A P))
2))
P)))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
( LEQ P (SUB1 I))
(LESSP I P))
(EQUAL (REMAINDER (TIMES-LIST (COMP-LIST I A P))
P)
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST I A P))
2))
P))).
However this simplifies again, using linear arithmetic, to:
T.
Q.E.D.
[ 18.6620443 0.072916667 ]
TIMES-COMP-LIST
(PROVE-LEMMA SUB1-LENGTH-DELETE
(REWRITE)
(IMPLIES (MEMBER X B)
(EQUAL (LENGTH (DELETE X B))
(SUB1 (LENGTH B)))))
This formula simplifies, applying LENGTH-DELETE, to:
(IMPLIES (MEMBER X B)
(EQUAL (LENGTH (CDR B))
(SUB1 (LENGTH B)))).
However this again simplifies, opening up the definition of LENGTH,
to the following two new formulas:
Case 2. (IMPLIES (AND (MEMBER X B) (NOT (LISTP B)))
(EQUAL (LENGTH (CDR B)) (SUB1 0))),
which again simplifies, expanding the definition of MEMBER, to:
T.
Case 1. (IMPLIES (AND (MEMBER X B) (LISTP B))
(EQUAL (LENGTH (CDR B))
(SUB1 (ADD1 (LENGTH (CDR B)))))),
which we again simplify, using linear arithmetic, to:
T.
Q.E.D.
[ 1.50188802 0.106054688 ]
SUB1-LENGTH-DELETE
(PROVE-LEMMA EQUAL-LENGTH-PERM NIL
(IMPLIES (PERM A B)
(EQUAL (LENGTH A) (LENGTH B)))
((INDUCT (PERM A B))))
This formula can be simplified, using the abbreviations IMPLIES,
NLISTP, NOT, OR, and AND, to the following three new goals:
Case 3. (IMPLIES (AND (NOT (LISTP A)) (PERM A B))
(EQUAL (LENGTH A) (LENGTH B))),
which simplifies, opening up the definitions of PERM, LENGTH, and
EQUAL, to:
T.
Case 2. (IMPLIES (AND (LISTP A)
(MEMBER (CAR A) B)
(IMPLIES (PERM (CDR A) (DELETE (CAR A) B))
(EQUAL (LENGTH (CDR A))
(LENGTH (DELETE (CAR A) B))))
(PERM A B))
(EQUAL (LENGTH A) (LENGTH B))),
which simplifies, rewriting with PERM-MEMBER and SUB1-LENGTH-DELETE,
and opening up the functions MEMBER, IMPLIES, PERM, and LENGTH, to:
(IMPLIES (AND (LISTP A)
(EQUAL (LENGTH (CDR A))
(SUB1 (LENGTH B)))
(MEMBER (CAR A) B)
(PERM (CDR A) (DELETE (CAR A) B)))
(EQUAL (ADD1 (LENGTH (CDR A)))
(LENGTH B))).
However this simplifies again, using linear arithmetic, to the new
conjecture:
(IMPLIES (AND (EQUAL (LENGTH B) 0)
(LISTP A)
(EQUAL (LENGTH (CDR A))
(SUB1 (LENGTH B)))
(MEMBER (CAR A) B)
(PERM (CDR A) (DELETE (CAR A) B)))
(EQUAL (ADD1 (LENGTH (CDR A)))
(LENGTH B))),
which we again simplify, rewriting with EQUAL-LENGTH-0, and
unfolding the functions SUB1 and MEMBER, to:
T.
Case 1. (IMPLIES (AND (LISTP A)
(NOT (MEMBER (CAR A) B))
(PERM A B))
(EQUAL (LENGTH A) (LENGTH B))).
This simplifies, appealing to the lemma PERM-MEMBER, and opening up
MEMBER, to:
T.
Q.E.D.
[ 4.3500651 0.222981771 ]
EQUAL-LENGTH-PERM
(PROVE-LEMMA LENGTH-POSITIVES
(REWRITE)
(EQUAL (LENGTH (POSITIVES N)) (FIX N))
((INDUCT (POSITIVES N))))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
OR, and AND, to two new conjectures:
Case 2. (IMPLIES (ZEROP N)
(EQUAL (LENGTH (POSITIVES N))
(FIX N))).
This simplifies, opening up the functions ZEROP, POSITIVES, LENGTH,
FIX, and EQUAL, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (LENGTH (POSITIVES (SUB1 N)))
(FIX (SUB1 N))))
(EQUAL (LENGTH (POSITIVES N))
(FIX N))),
which simplifies, rewriting with ADD1-SUB1 and CDR-CONS, and
expanding the functions FIX, POSITIVES, and LENGTH, to:
T.
Q.E.D.
[ 1.77701823 0.078971354 ]
LENGTH-POSITIVES
(PROVE-LEMMA EULER-2-1 NIL
(IMPLIES
(AND (PRIME P)
(NOT (DIVIDES P A))
(NOT (RESIDUE A P)))
(EQUAL (REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 P) A P))
2.))
P)
(SUB1 P)))
((USE (TIMES-COMP-LIST (I (SUB1 P)))
(COMP-LIST-FACT)
(WILSON-THM))
(DISABLE TIMES-COMP-LIST COMP-LIST-FACT)))
This formula can be simplified, using the abbreviations NOT, PRIME,
IMPLIES, AND, and DIVIDES, to:
(IMPLIES
(AND
(IMPLIES
(AND (PRIME P) (LESSP (SUB1 P) P))
(EQUAL
(REMAINDER (TIMES-LIST (COMP-LIST (SUB1 P) A P))
P)
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 P) A P))
2))
P)))
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(NOT (RESIDUE A P))))
(EQUAL (TIMES-LIST (COMP-LIST (SUB1 P) A P))
(FACT (SUB1 P))))
(IMPLIES (PRIME P)
(EQUAL (REMAINDER (FACT (SUB1 P)) P)
(SUB1 P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (RESIDUE A P)))
(EQUAL
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 P) A P))
2))
P)
(SUB1 P))),
which simplifies, opening up the definitions of PRIME, AND, IMPLIES,
NOT, DIVIDES, and RESIDUE, to:
(IMPLIES
(AND ( LEQ P (SUB1 P))
(EQUAL (TIMES-LIST (COMP-LIST (SUB1 P) A P))
(FACT (SUB1 P)))
(EQUAL (REMAINDER (FACT (SUB1 P)) P)
(SUB1 P))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (MEMBER (REMAINDER A P)
(SQUARES P P))))
(EQUAL
(REMAINDER (EXP A
(QUOTIENT (LENGTH (COMP-LIST (SUB1 P) A P))
2))
P)
(SUB1 P))).
This again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 236.686068 0.147916667 ]
EULER-2-1
(PROVE-LEMMA EULER-2-2
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P A))
(NOT (RESIDUE A P)))
(EQUAL (LENGTH (COMP-LIST (SUB1 P) A P))
(SUB1 P)))
((USE (EQUAL-LENGTH-PERM (A (POSITIVES (SUB1 P)))
(B (COMP-LIST (SUB1 P) A P)))
(PERM-POSITIVES-COMP-LIST))
(DISABLE EQUAL-LENGTH-PERM PERM-POSITIVES-COMP-LIST)))
This formula can be simplified, using the abbreviations NOT, PRIME,
IMPLIES, AND, and DIVIDES, to:
(IMPLIES
(AND (IMPLIES (PERM (POSITIVES (SUB1 P))
(COMP-LIST (SUB1 P) A P))
(EQUAL (LENGTH (POSITIVES (SUB1 P)))
(LENGTH (COMP-LIST (SUB1 P) A P))))
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(NOT (RESIDUE A P))))
(PERM (POSITIVES (SUB1 P))
(COMP-LIST (SUB1 P) A P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (RESIDUE A P)))
(EQUAL (LENGTH (COMP-LIST (SUB1 P) A P))
(SUB1 P))),
which simplifies, using linear arithmetic, applying the lemmas
SUBSETP-POSITIVES-COMP-LIST, BOUNDED-COMP-LIST,
ALL-NON-ZEROP-COMP-LIST, ALL-DISTINCT-COMP-LIST, PIGEONHOLE2, and
LENGTH-POSITIVES, and unfolding PRIME, DIVIDES, and IMPLIES, to:
T.
Q.E.D.
[ 15.4729818 0.094010416 ]
EULER-2-2
(PROVE-LEMMA EULER-2-3 NIL
(IMPLIES (NOT (ZEROP P))
(EQUAL (DIVIDES 2. P)
(NOT (DIVIDES 2. (SUB1 P)))))
((INDUCT (ODD P))))
This formula can be simplified, using the abbreviations ZEROP,
IMPLIES, NOT, OR, AND, and DIVIDES, to the following three new
formulas:
Case 3. (IMPLIES (AND (ZEROP P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL (EQUAL (REMAINDER P 2) 0)
(NOT (EQUAL (REMAINDER (SUB1 P) 2) 0)))).
This simplifies, expanding ZEROP, to:
T.
Case 2. (IMPLIES (AND (NOT (EQUAL P 0))
(NUMBERP P)
(ZEROP (SUB1 P)))
(EQUAL (EQUAL (REMAINDER P 2) 0)
(NOT (EQUAL (REMAINDER (SUB1 P) 2) 0)))).
This simplifies, opening up the definitions of ZEROP, SUB1, LESSP,
NUMBERP, EQUAL, REMAINDER, and NOT, to:
T.
Case 1. (IMPLIES
(AND
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL (SUB1 P) 0))
(NUMBERP (SUB1 P))
(IMPLIES
(NOT (ZEROP (SUB1 (SUB1 P))))
(EQUAL (EQUAL (REMAINDER (SUB1 (SUB1 P)) 2)
0)
(NOT (EQUAL (REMAINDER (SUB1 (SUB1 (SUB1 P))) 2)
0)))))
(EQUAL (EQUAL (REMAINDER P 2) 0)
(NOT (EQUAL (REMAINDER (SUB1 P) 2) 0)))),
which we simplify, rewriting with the lemma DIFFERENCE-1, and
unfolding the functions ZEROP, NOT, IMPLIES, DIFFERENCE, SUB1,
NUMBERP, EQUAL, REMAINDER, and LESSP, to the following three new
formulas:
Case 1.3.
(IMPLIES
(AND (NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL (SUB1 P) 0))
(EQUAL (REMAINDER (SUB1 (SUB1 P)) 2)
0)
(NOT (EQUAL (REMAINDER (SUB1 (SUB1 (SUB1 P))) 2)
0)))
( LEQ 2 P)).
But this again simplifies, using linear arithmetic, to:
T.
Case 1.2.
(IMPLIES (AND (NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL (SUB1 P) 0))
(NOT (EQUAL (REMAINDER (SUB1 (SUB1 P)) 2)
0))
(EQUAL (REMAINDER (SUB1 (SUB1 (SUB1 P))) 2)
0))
( LEQ 2 (SUB1 P))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (NOT (EQUAL 2 0))
(NUMBERP 2)
(NOT (EQUAL (SUB1 2) 0))
(NOT (EQUAL (REMAINDER (SUB1 (SUB1 2)) 2)
0))
(EQUAL (REMAINDER (SUB1 (SUB1 (SUB1 2))) 2)
0))
( LEQ 2 (SUB1 2))),
which we again simplify, opening up EQUAL, NUMBERP, SUB1, and
REMAINDER, to:
T.
Case 1.1.
(IMPLIES (AND (NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL (SUB1 P) 0))
(EQUAL (SUB1 (SUB1 P)) 0))
( LEQ 2 P)),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 93.612956 0.321028646 ]
EULER-2-3
(PROVE-LEMMA EULER-2-4
(REWRITE)
(IMPLIES (NOT (DIVIDES 2. P))
(EQUAL (QUOTIENT (SUB1 P) 2.)
(QUOTIENT P 2.)))
((USE (EULER-2-3)
(REMAINDER-QUOTIENT (X P) (Y 2.))
(REMAINDER-QUOTIENT (X (SUB1 P))
(Y 2.)))
(DISABLE RES-REM-2LEMMA3 REMAINDER-QUOTIENT)))
This formula can be simplified, using the abbreviations NOT, IMPLIES,
AND, and DIVIDES, to:
(IMPLIES
(AND (IMPLIES (NOT (ZEROP P))
(EQUAL (EQUAL (REMAINDER P 2) 0)
(NOT (EQUAL (REMAINDER (SUB1 P) 2) 0))))
(EQUAL (PLUS (REMAINDER P 2)
(TIMES 2 (QUOTIENT P 2)))
(FIX P))
(EQUAL (PLUS (REMAINDER (SUB1 P) 2)
(TIMES 2 (QUOTIENT (SUB1 P) 2)))
(FIX (SUB1 P)))
(NOT (EQUAL (REMAINDER P 2) 0)))
(EQUAL (QUOTIENT (SUB1 P) 2)
(QUOTIENT P 2))).
This simplifies, using linear arithmetic, appealing to the lemma
LESSP-REMAINDER-DIVISOR, and expanding EQUAL, to:
(IMPLIES
(AND (EQUAL (REMAINDER P 2) 1)
(EQUAL (FIX P)
(PLUS 1 (TIMES 2 (QUOTIENT P 2))))
(IMPLIES (NOT (ZEROP P))
(EQUAL (EQUAL 1 0)
(NOT (EQUAL (REMAINDER (SUB1 P) 2) 0))))
(EQUAL (PLUS 1 (TIMES 2 (QUOTIENT P 2)))
(PLUS 1 (TIMES 2 (QUOTIENT P 2))))
(EQUAL (PLUS (REMAINDER (SUB1 P) 2)
(TIMES 2 (QUOTIENT (SUB1 P) 2)))
(FIX (SUB1 P)))
(NOT (EQUAL 1 0)))
(EQUAL (QUOTIENT (SUB1 P) 2)
(QUOTIENT P 2))),
which again simplifies, applying TIMES-2 and SUB1-NNUMBERP, and
expanding the definitions of FIX, ZEROP, NOT, EQUAL, REMAINDER,
IMPLIES, LESSP, NUMBERP, QUOTIENT, TIMES, PLUS, and SUB1, to the
formula:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(NUMBERP P)
(EQUAL P
(PLUS 1
(PLUS (QUOTIENT P 2)
(QUOTIENT P 2))))
(EQUAL (REMAINDER (SUB1 P) 2) 0)
(EQUAL (PLUS (QUOTIENT (SUB1 P) 2)
(QUOTIENT (SUB1 P) 2))
(SUB1 P)))
(EQUAL (QUOTIENT (SUB1 P) 2)
(QUOTIENT P 2))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (EQUAL P 0)
(EQUAL (REMAINDER P 2) 1)
(NUMBERP P)
(EQUAL P
(PLUS 1
(PLUS (QUOTIENT P 2)
(QUOTIENT P 2))))
(EQUAL (REMAINDER (SUB1 P) 2) 0)
(EQUAL (PLUS (QUOTIENT (SUB1 P) 2)
(QUOTIENT (SUB1 P) 2))
(SUB1 P)))
(EQUAL (QUOTIENT (SUB1 P) 2)
(QUOTIENT P 2))).
But this again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 22.733008 0.233072916 ]
EULER-2-4
(PROVE-LEMMA EULER-2
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES 2. P))
(NOT (DIVIDES P A))
(NOT (RESIDUE A P)))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2.)) P)
(SUB1 P)))
((USE (EULER-2-1))
(DISABLE EULER-2-1 PRIME DIVIDES RESIDUE EXP QUOTIENT
LENGTH COMP-LIST)))
This formula simplifies, applying EULER-2-2 and EULER-2-4, and
opening up NOT, AND, and IMPLIES, to:
T.
Q.E.D.
[ 1.21510416 0.0229166667 ]
EULER-2
(DEFN RES1
(N A P)
(IF (ZEROP N)
T
(IF (LESSP (QUOTIENT P 2.)
(REMAINDER (TIMES A N) P))
(NOT (RES1 (SUB1 N) A P))
(RES1 (SUB1 N) A P))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition
of ZEROP can be used to prove that the measure (COUNT N) decreases
according to the well-founded relation LESSP in each recursive call.
Hence, RES1 is accepted under the principle of definition. Observe
that (OR (FALSEP (RES1 N A P)) (TRUEP (RES1 N A P))) is a theorem.
[ 7.1479167 0.048046875 ]
RES1
(DEFN REFLECT (X P) (DIFFERENCE P X))
Observe that (NUMBERP (REFLECT X P)) is a theorem.
[ 0.261002604 8.9192709E-3 ]
REFLECT
(DEFN REFLECT-LIST
(N A P)
(IF (ZEROP N)
NIL
(IF (LESSP (QUOTIENT P 2.)
(REMAINDER (TIMES A N) P))
(CONS (REFLECT (REMAINDER (TIMES A N) P) P)
(REFLECT-LIST (SUB1 N) A P))
(CONS (REMAINDER (TIMES A N) P)
(REFLECT-LIST (SUB1 N) A P)))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition
of ZEROP establish that the measure (COUNT N) decreases according to
the well-founded relation LESSP in each recursive call. Hence,
REFLECT-LIST is accepted under the principle of definition. Observe
that (OR (LITATOM (REFLECT-LIST N A P)) (LISTP (REFLECT-LIST N A P)))
is a theorem.
[ 6.0240234 0.0459635416 ]
REFLECT-LIST
(PROVE-LEMMA DIFF-MOD-1
(REWRITE)
(IMPLIES (LEQ B A)
(EQUAL (REMAINDER (DIFFERENCE A (REMAINDER B P))
P)
(REMAINDER (DIFFERENCE A B) P)))
((USE (REMAINDER-QUOTIENT (X B) (Y P))
(REMAINDER-PLUS-TIMES-1 (X (DIFFERENCE A B))
(I (QUOTIENT B P))
(J P)))
(DISABLE REMAINDER-QUOTIENT REMAINDER-PLUS-TIMES-1
REMAINDER-PLUS-TIMES-2)))
This conjecture simplifies, applying TIMES-IDENTITY,
COMMUTATIVITY-OF-PLUS, and COMMUTATIVITY-OF-TIMES, and expanding FIX,
DIFFERENCE, LESSP, QUOTIENT, EQUAL, PLUS, and REMAINDER, to the new
conjecture:
(IMPLIES (AND (NUMBERP B)
(EQUAL (PLUS (REMAINDER B P)
(TIMES P (QUOTIENT B P)))
B)
(EQUAL (REMAINDER (PLUS (DIFFERENCE A B)
(TIMES P (QUOTIENT B P)))
P)
(REMAINDER (DIFFERENCE A B) P))
( LEQ B A))
(EQUAL (REMAINDER (DIFFERENCE A (REMAINDER B P))
P)
(REMAINDER (DIFFERENCE A B) P))).
Of course, this simplifies again, trivially, to:
(IMPLIES (AND (EQUAL (PLUS (REMAINDER B P)
(TIMES P (QUOTIENT B P)))
B)
(EQUAL (REMAINDER (PLUS (DIFFERENCE A B)
(TIMES P (QUOTIENT B P)))
P)
(REMAINDER (DIFFERENCE A B) P))
( LEQ B A))
(EQUAL (REMAINDER (DIFFERENCE A (REMAINDER B P))
P)
(REMAINDER (DIFFERENCE A B) P))).
Applying the lemmas DIFFERENCE-ELIM and REMAINDER-QUOTIENT-ELIM, we
now replace A by (PLUS B X) to eliminate (DIFFERENCE A B) and X by
(PLUS Z (TIMES P V)) to eliminate (REMAINDER X P) and (QUOTIENT X P).
We use the type restriction lemma noted when DIFFERENCE was
introduced, LESSP-REMAINDER2, the type restriction lemma noted when
REMAINDER was introduced, and the type restriction lemma noted when
QUOTIENT was introduced to restrict the new variables. This produces
four new formulas:
Case 4. (IMPLIES
(AND (NOT (NUMBERP A))
(EQUAL (PLUS (REMAINDER B P)
(TIMES P (QUOTIENT B P)))
B)
(EQUAL (REMAINDER (PLUS (DIFFERENCE A B)
(TIMES P (QUOTIENT B P)))
P)
(REMAINDER (DIFFERENCE A B) P))
( LEQ B A))
(EQUAL (REMAINDER (DIFFERENCE A (REMAINDER B P))
P)
(REMAINDER (DIFFERENCE A B) P))),
which further simplifies, using linear arithmetic, appealing to the
lemmas DIFFERENCE-0, REMAINDER-TIMES, and REMAINDER-0-CROCK, and
unfolding the definitions of EQUAL, PLUS, and LESSP, to:
T.
Case 3. (IMPLIES
(AND (EQUAL P 0)
(NUMBERP X)
(EQUAL (PLUS (REMAINDER B P)
(TIMES P (QUOTIENT B P)))
B)
(EQUAL (REMAINDER (PLUS X (TIMES P (QUOTIENT B P)))
P)
(REMAINDER X P))
( LEQ B (PLUS B X)))
(EQUAL (REMAINDER (DIFFERENCE (PLUS B X)
(REMAINDER B P))
P)
(REMAINDER X P))),
which we further simplify, rewriting with COMMUTATIVITY-OF-PLUS and
DIFFERENCE-PLUS1, and opening up EQUAL, REMAINDER, QUOTIENT, TIMES,
PLUS, LESSP, and DIFFERENCE, to:
(IMPLIES (AND (NUMBERP X)
(EQUAL 0 B)
(EQUAL X 0))
(EQUAL 0 X)).
This simplifies again, trivially, to:
T.
Case 2. (IMPLIES
(AND (NOT (NUMBERP P))
(NUMBERP X)
(EQUAL (PLUS (REMAINDER B P)
(TIMES P (QUOTIENT B P)))
B)
(EQUAL (REMAINDER (PLUS X (TIMES P (QUOTIENT B P)))
P)
(REMAINDER X P))
( LEQ B (PLUS B X)))
(EQUAL (REMAINDER (DIFFERENCE (PLUS B X)
(REMAINDER B P))
P)
(REMAINDER X P))),
which we further simplify, rewriting with REMAINDER-WRT-12,
TIMES-ZERO2, COMMUTATIVITY-OF-TIMES, COMMUTATIVITY-OF-PLUS,
REMAINDER-0-CROCK, and DIFFERENCE-PLUS1, and expanding the
definitions of QUOTIENT, EQUAL, PLUS, LESSP, and DIFFERENCE, to:
(IMPLIES (AND (NOT (NUMBERP P))
(NUMBERP X)
(EQUAL 0 B)
(EQUAL X 0))
(EQUAL 0 X)),
which again simplifies, trivially, to:
T.
Case 1. (IMPLIES
(AND (NUMBERP Z)
(EQUAL (LESSP Z P) (NOT (ZEROP P)))
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(EQUAL (PLUS (REMAINDER B P)
(TIMES P (QUOTIENT B P)))
B)
(EQUAL (REMAINDER (PLUS (PLUS Z (TIMES P V))
(TIMES P (QUOTIENT B P)))
P)
Z)
( LEQ B
(PLUS B (PLUS Z (TIMES P V)))))
(EQUAL (REMAINDER (DIFFERENCE (PLUS B (PLUS Z (TIMES P V)))
(REMAINDER B P))
P)
Z)),
which further simplifies, rewriting with the lemma
ASSOCIATIVITY-OF-PLUS, and unfolding the definitions of ZEROP and
NOT, to the formula:
(IMPLIES
(AND (LESSP Z P)
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(EQUAL (PLUS (REMAINDER B P)
(TIMES P (QUOTIENT B P)))
B)
(EQUAL (REMAINDER (PLUS Z
(PLUS (TIMES P V)
(TIMES P (QUOTIENT B P))))
P)
Z)
( LEQ B
(PLUS B (PLUS Z (TIMES P V)))))
(EQUAL (REMAINDER (DIFFERENCE (PLUS B (PLUS Z (TIMES P V)))
(REMAINDER B P))
P)
Z)).
Applying the lemma REMAINDER-QUOTIENT-ELIM, we now replace B by
(PLUS X (TIMES P W)) to eliminate (REMAINDER B P) and
(QUOTIENT B P). We employ LESSP-REMAINDER2, the type restriction
lemma noted when REMAINDER was introduced, and the type restriction
lemma noted when QUOTIENT was introduced to constrain the new
variables. We would thus like to prove the following two new
formulas:
Case 1.2.
(IMPLIES
(AND
(NOT (NUMBERP B))
(LESSP Z P)
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(EQUAL (PLUS (REMAINDER B P)
(TIMES P (QUOTIENT B P)))
B)
(EQUAL (REMAINDER (PLUS Z
(PLUS (TIMES P V)
(TIMES P (QUOTIENT B P))))
P)
Z)
( LEQ B
(PLUS B (PLUS Z (TIMES P V)))))
(EQUAL (REMAINDER (DIFFERENCE (PLUS B (PLUS Z (TIMES P V)))
(REMAINDER B P))
P)
Z)).
This finally simplifies, clearly, to:
T.
Case 1.1.
(IMPLIES
(AND
(NUMBERP X)
(EQUAL (LESSP X P) (NOT (ZEROP P)))
(NUMBERP W)
(LESSP Z P)
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(EQUAL (PLUS X (TIMES P W))
(PLUS X (TIMES P W)))
(EQUAL (REMAINDER (PLUS Z
(PLUS (TIMES P V) (TIMES P W)))
P)
Z)
( LEQ
(PLUS X (TIMES P W))
(PLUS (PLUS X (TIMES P W))
(PLUS Z (TIMES P V)))))
(EQUAL (REMAINDER (DIFFERENCE (PLUS (PLUS X (TIMES P W))
(PLUS Z (TIMES P V)))
X)
P)
Z)).
But this finally simplifies, applying COMMUTATIVITY-OF-PLUS,
COMMUTATIVITY2-OF-PLUS, ASSOCIATIVITY-OF-PLUS,
LESSP-PLUS-CANCELATION, and DIFFERENCE-PLUS1, and opening up the
functions ZEROP and NOT, to:
T.
Q.E.D.
[ 196.101042 1.71497396 ]
DIFF-MOD-1
(PROVE-LEMMA REM-DIFF-TIMES
(REWRITE)
(IMPLIES (AND (LESSP X P)
(NOT (ZEROP X))
(NOT (ZEROP B)))
(EQUAL (REMAINDER (DIFFERENCE (TIMES B P) X)
P)
(DIFFERENCE P X)))
((USE (REMAINDER-PLUS-TIMES-1 (X (DIFFERENCE P X))
(I (SUB1 B))
(J P)))
(DISABLE REMAINDER-PLUS-TIMES-1 REMAINDER-PLUS-TIMES-2)))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
AND, and IMPLIES, to:
(IMPLIES (AND (EQUAL (REMAINDER (PLUS (DIFFERENCE P X)
(TIMES (SUB1 B) P))
P)
(REMAINDER (DIFFERENCE P X) P))
(LESSP X P)
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL B 0))
(NUMBERP B))
(EQUAL (REMAINDER (DIFFERENCE (TIMES B P) X)
P)
(DIFFERENCE P X))),
which simplifies, using linear arithmetic, rewriting with
COMMUTATIVITY-OF-TIMES, REMAINDER-0-CROCK, and DIFFERENCE-0, and
opening up the functions REMAINDER, LESSP, and EQUAL, to three new
formulas:
Case 3. (IMPLIES (AND (LESSP P X)
(EQUAL (REMAINDER (PLUS (DIFFERENCE P X)
(TIMES (SUB1 B) P))
P)
(REMAINDER (DIFFERENCE P X) P))
(LESSP X P)
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL B 0))
(NUMBERP B))
(EQUAL (REMAINDER (DIFFERENCE (TIMES B P) X)
P)
(DIFFERENCE P X))).
This again simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND ( LEQ X P)
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ P (DIFFERENCE P X))
(EQUAL (REMAINDER (PLUS (DIFFERENCE P X)
(TIMES P (SUB1 B)))
P)
0)
(LESSP X P)
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL B 0))
(NUMBERP B))
(EQUAL (REMAINDER (DIFFERENCE (TIMES B P) X)
P)
(DIFFERENCE P X))),
which we again simplify, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND ( LEQ X P)
(LESSP (DIFFERENCE P X) P)
(EQUAL (REMAINDER (PLUS (DIFFERENCE P X)
(TIMES P (SUB1 B)))
P)
(DIFFERENCE P X))
(LESSP X P)
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL B 0))
(NUMBERP B))
(EQUAL (REMAINDER (DIFFERENCE (TIMES B P) X)
P)
(DIFFERENCE P X))).
Applying the lemma DIFFERENCE-ELIM, we now replace P by (PLUS X Z)
to eliminate (DIFFERENCE P X). We employ the type restriction
lemma noted when DIFFERENCE was introduced to constrain the new
variable. We thus obtain the following two new formulas:
Case 1.2.
(IMPLIES (AND (NOT (NUMBERP P))
( LEQ X P)
(LESSP (DIFFERENCE P X) P)
(EQUAL (REMAINDER (PLUS (DIFFERENCE P X)
(TIMES P (SUB1 B)))
P)
(DIFFERENCE P X))
(LESSP X P)
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL B 0))
(NUMBERP B))
(EQUAL (REMAINDER (DIFFERENCE (TIMES B P) X)
P)
(DIFFERENCE P X))).
But this further simplifies, unfolding the definition of LESSP,
to:
T.
Case 1.1.
(IMPLIES
(AND (NUMBERP Z)
( LEQ X (PLUS X Z))
(LESSP Z (PLUS X Z))
(EQUAL (REMAINDER (PLUS Z (TIMES (PLUS X Z) (SUB1 B)))
(PLUS X Z))
Z)
(LESSP X (PLUS X Z))
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL B 0))
(NUMBERP B))
(EQUAL (REMAINDER (DIFFERENCE (TIMES B (PLUS X Z)) X)
(PLUS X Z))
Z)),
which we further simplify, rewriting with
LESSP-PLUS-CANCELLATION3, COMMUTATIVITY-OF-TIMES, and
DISTRIBUTIVITY-OF-TIMES-OVER-PLUS, to the new conjecture:
(IMPLIES
(AND ( LEQ X (PLUS X Z))
(EQUAL (REMAINDER (PLUS Z
(PLUS (TIMES X (SUB1 B))
(TIMES Z (SUB1 B))))
(PLUS X Z))
Z)
(LESSP X (PLUS X Z))
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL B 0))
(NUMBERP B))
(EQUAL
(REMAINDER (DIFFERENCE (PLUS (TIMES B X) (TIMES B Z))
X)
(PLUS X Z))
Z)).
Appealing to the lemma SUB1-ELIM, we now replace B by (ADD1 V) to
eliminate (SUB1 B). We rely upon the type restriction lemma
noted when SUB1 was introduced to constrain the new variable.
This produces:
(IMPLIES
(AND
(NUMBERP V)
( LEQ X (PLUS X Z))
(EQUAL (REMAINDER (PLUS Z
(PLUS (TIMES X V) (TIMES Z V)))
(PLUS X Z))
Z)
(LESSP X (PLUS X Z))
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL (ADD1 V) 0)))
(EQUAL (REMAINDER (DIFFERENCE (PLUS (TIMES (ADD1 V) X)
(TIMES (ADD1 V) Z))
X)
(PLUS X Z))
Z)).
This further simplifies, rewriting with COMMUTATIVITY-OF-TIMES,
TIMES-ADD1, COMMUTATIVITY2-OF-PLUS, ASSOCIATIVITY-OF-PLUS, and
DIFFERENCE-PLUS1, to:
T.
Q.E.D.
[ 105.127865 0.506119795 ]
REM-DIFF-TIMES
(PROVE-LEMMA REFLECT-COMMUTES-WITH-TIMES-1
(REWRITE)
(IMPLIES (LEQ Y P)
(EQUAL (REMAINDER (TIMES (REFLECT Y P) X) P)
(REMAINDER (REFLECT (REMAINDER (TIMES Y X) P) P)
P)))
((USE (DIFF-MOD-1 (A (TIMES P X))
(B (TIMES Y X)))
(LESSP-TIMES-CANCELLATION (Z X)
(X Y)
(Y P))
(REM-DIFF-TIMES (B X)
(X (REMAINDER (TIMES Y X) P))))
(DISABLE LESSP-TIMES-CANCELLATION REM-DIFF-TIMES DIFF-MOD-1)))
This formula can be simplified, using the abbreviations IMPLIES, AND,
and REFLECT, to:
(IMPLIES
(AND
(IMPLIES
(IF (LESSP (TIMES P X) (TIMES Y X))
F
T)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES Y X) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES Y X))
P)))
(EQUAL (LESSP (TIMES Y X) (TIMES P X))
(AND (NOT (ZEROP X)) (LESSP Y P)))
(IMPLIES
(AND (LESSP (REMAINDER (TIMES Y X) P) P)
(AND (NOT (ZEROP (REMAINDER (TIMES Y X) P)))
(NOT (ZEROP X))))
(EQUAL (REMAINDER (DIFFERENCE (TIMES X P)
(REMAINDER (TIMES Y X) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES Y X) P))))
( LEQ Y P))
(EQUAL (REMAINDER (TIMES (DIFFERENCE P Y) X)
P)
(REMAINDER (DIFFERENCE P
(REMAINDER (TIMES Y X) P))
P))).
This simplifies, using linear arithmetic, appealing to the lemmas
COMMUTATIVITY-OF-TIMES, EQUAL-LESSP, LESSP-REMAINDER2,
REMAINDER-TIMES, DIFFERENCE-0, TIMES-ZERO2, REMAINDER-WRT-12,
REMAINDER-0-CROCK, TIMES-IDENTITY, EQUAL-TIMES-0, TIMES-DIFFERENCE,
and EQUAL-DIFFERENCE-0, and expanding IMPLIES, ZEROP, NOT, AND, EQUAL,
LESSP, DIFFERENCE, REMAINDER, and TIMES, to the following 50 new
conjectures:
Case 50.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL (TIMES 0 X) (REMAINDER P P))).
This simplifies again, using linear arithmetic, to two new goals:
Case 50.2.
(IMPLIES (AND (NOT (NUMBERP Y))
(LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL (TIMES 0 X) (REMAINDER P P))).
However this simplifies again, rewriting with TIMES-ZERO2, and
unfolding the functions EQUAL and LESSP, to:
T.
Case 50.1.
(IMPLIES (AND (NUMBERP Y)
(LESSP (TIMES P X) (TIMES X P))
( LEQ (TIMES P X) (TIMES X P))
( LEQ P P)
(EQUAL (REMAINDER (TIMES X P) P) 0)
( LEQ P P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL (TIMES 0 X) (REMAINDER P P))).
But this simplifies again, applying COMMUTATIVITY-OF-TIMES, to:
T.
Case 49.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(EQUAL P 0))
(EQUAL (TIMES 0 X)
(REMAINDER 0 P))),
which we again simplify, rewriting with TIMES-IDENTITY and
EQUAL-TIMES-0, and opening up EQUAL, LESSP, and REMAINDER, to:
T.
Case 48.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL (TIMES 0 X)
(REMAINDER 0 P))),
which again simplifies, applying EQUAL-TIMES-0 and REMAINDER-WRT-12,
and expanding the function LESSP, to:
T.
Case 47.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL X 0)
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))),
which we again simplify, using linear arithmetic, to:
T.
Case 46.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL X 0)
( LEQ Y P)
(EQUAL P 0))
(EQUAL 0 (REMAINDER 0 P))).
This again simplifies, using linear arithmetic, to:
T.
Case 45.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL X 0)
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL 0 (REMAINDER 0 P))),
which we again simplify, using linear arithmetic, to:
T.
Case 44.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(NOT (NUMBERP X))
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))).
But this simplifies again, using linear arithmetic, to the
following two new goals:
Case 44.2.
(IMPLIES (AND (NOT (NUMBERP Y))
(LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(NOT (NUMBERP X))
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))),
which again simplifies, applying TIMES-ZERO2, and opening up the
definition of LESSP, to:
T.
Case 44.1.
(IMPLIES (AND (NUMBERP Y)
(LESSP (TIMES P X) (TIMES X P))
( LEQ (TIMES P X) (TIMES X P))
( LEQ P P)
(NOT (NUMBERP X))
( LEQ P P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))),
which we again simplify, rewriting with the lemmas TIMES-ZERO2
and COMMUTATIVITY-OF-TIMES, and expanding the definition of LESSP,
to:
T.
Case 43.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(NOT (NUMBERP X))
( LEQ Y P)
(EQUAL P 0))
(EQUAL 0 (REMAINDER 0 P))).
However this again simplifies, applying TIMES-ZERO2 and
EQUAL-TIMES-0, and opening up the definition of LESSP, to:
T.
Case 42.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(NOT (NUMBERP X))
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL 0 (REMAINDER 0 P))).
But this again simplifies, applying TIMES-ZERO2 and EQUAL-TIMES-0,
and opening up the function LESSP, to:
T.
Case 41.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
(LESSP P (REMAINDER (TIMES X Y) P)))
(EQUAL (REMAINDER (TIMES (DIFFERENCE P Y) X)
P)
(REMAINDER (DIFFERENCE P
(REMAINDER (TIMES Y X) P))
P))).
But this simplifies again, using linear arithmetic, to three new
goals:
Case 41.3.
(IMPLIES
(AND
(NOT (NUMBERP Y))
(LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
(LESSP P (REMAINDER (TIMES X Y) P)))
(EQUAL (REMAINDER (TIMES (DIFFERENCE P Y) X)
P)
(REMAINDER (DIFFERENCE P
(REMAINDER (TIMES Y X) P))
P))),
which we again simplify, applying the lemma TIMES-ZERO2, and
opening up the definitions of EQUAL and LESSP, to:
T.
Case 41.2.
(IMPLIES
(AND
(NOT (NUMBERP P))
(LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
(LESSP P (REMAINDER (TIMES X Y) P)))
(EQUAL (REMAINDER (TIMES (DIFFERENCE P Y) X)
P)
(REMAINDER (DIFFERENCE P
(REMAINDER (TIMES Y X) P))
P))),
which we again simplify, using linear arithmetic, appealing to
the lemmas EQUAL-TIMES-0, REMAINDER-WRT-12, DIFFERENCE-0, and
REMAINDER-0-CROCK, and unfolding the functions LESSP and EQUAL,
to:
T.
Case 41.1.
(IMPLIES
(AND
(NUMBERP P)
(NUMBERP Y)
(LESSP (TIMES P X) (TIMES X P))
( LEQ (TIMES P X) (TIMES X P))
( LEQ P P)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X P) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X P) P)))
( LEQ P P)
(LESSP P (REMAINDER (TIMES X P) P)))
(EQUAL (REMAINDER (TIMES (DIFFERENCE P P) X)
P)
(REMAINDER (DIFFERENCE P
(REMAINDER (TIMES P X) P))
P))).
But this again simplifies, rewriting with the lemma
COMMUTATIVITY-OF-TIMES, to:
T.
Case 40.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
( LEQ P
(DIFFERENCE P
(REMAINDER (TIMES X Y) P))))
(EQUAL (TIMES 0 X) 0)).
This again simplifies, using linear arithmetic, to:
T.
Case 39.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
(NOT (NUMBERP P)))
(EQUAL (TIMES 0 X) 0)).
This simplifies again, using linear arithmetic, to:
T.
Case 38.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
(EQUAL P 0))
(EQUAL (TIMES 0 X) 0)).
This again simplifies, using linear arithmetic, to:
T.
Case 37.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (DIFFERENCE P
(REMAINDER (TIMES X Y) P))
P))
(EQUAL (TIMES 0 X)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))),
which we again simplify, using linear arithmetic, to two new
conjectures:
Case 37.2.
(IMPLIES
(AND
(NOT (NUMBERP Y))
(LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (DIFFERENCE P
(REMAINDER (TIMES X Y) P))
P))
(EQUAL (TIMES 0 X)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))).
But this simplifies again, rewriting with the lemma TIMES-ZERO2,
and expanding the definitions of EQUAL and LESSP, to:
T.
Case 37.1.
(IMPLIES
(AND
(NUMBERP Y)
(LESSP (TIMES P X) (TIMES X P))
( LEQ (TIMES P X) (TIMES X P))
( LEQ P P)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X P) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X P) P)))
( LEQ P P)
( LEQ (REMAINDER (TIMES X P) P) P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (DIFFERENCE P
(REMAINDER (TIMES X P) P))
P))
(EQUAL (TIMES 0 X)
(DIFFERENCE P
(REMAINDER (TIMES X P) P)))),
which again simplifies, using linear arithmetic, applying
LESSP-REMAINDER-DIVISOR, REMAINDER-TIMES, and
COMMUTATIVITY-OF-TIMES, and opening up the functions DIFFERENCE
and EQUAL, to:
T.
Case 36.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
(NOT (NUMBERP X))
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))),
which we again simplify, rewriting with the lemmas TIMES-ZERO2 and
EQUAL-TIMES-0, and unfolding the definition of LESSP, to:
T.
Case 35.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
(NOT (NUMBERP X))
( LEQ Y P)
(EQUAL P 0))
(EQUAL 0 (REMAINDER 0 P))).
However this again simplifies, appealing to the lemmas TIMES-ZERO2
and EQUAL-TIMES-0, and opening up LESSP, to:
T.
Case 34.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
(NOT (NUMBERP X))
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL 0 (REMAINDER 0 P))).
However this again simplifies, applying the lemmas TIMES-ZERO2 and
EQUAL-TIMES-0, and unfolding the definition of LESSP, to:
T.
Case 33.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
(EQUAL X 0)
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))).
But this simplifies again, using linear arithmetic, to:
T.
Case 32.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
(EQUAL X 0)
( LEQ Y P)
(EQUAL P 0))
(EQUAL 0 (REMAINDER 0 P))).
However this again simplifies, using linear arithmetic, to:
T.
Case 31.(IMPLIES (AND (LESSP (TIMES P X) (TIMES X Y))
( LEQ (TIMES P X) (TIMES X Y))
(EQUAL X 0)
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL 0 (REMAINDER 0 P))),
which again simplifies, using linear arithmetic, to:
T.
Case 30.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
(REMAINDER P P))),
which again simplifies, using linear arithmetic, to:
T.
Case 29.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(EQUAL P 0))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
(REMAINDER 0 P))),
which we again simplify, using linear arithmetic, to:
T.
Case 28.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
(REMAINDER 0 P))).
However this simplifies again, using linear arithmetic, to:
T.
Case 27.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
(LESSP P (REMAINDER (TIMES X Y) P)))
(EQUAL (REMAINDER (TIMES (DIFFERENCE P Y) X)
P)
(REMAINDER (DIFFERENCE P
(REMAINDER (TIMES Y X) P))
P))).
This simplifies again, using linear arithmetic, to:
T.
Case 26.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
( LEQ P
(DIFFERENCE P
(REMAINDER (TIMES X Y) P))))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
0)),
which again simplifies, using linear arithmetic, to:
T.
Case 25.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
(NOT (NUMBERP P)))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
0)).
However this again simplifies, using linear arithmetic, to:
T.
Case 24.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
(EQUAL P 0))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
0)).
However this again simplifies, using linear arithmetic, to:
T.
Case 23.(IMPLIES
(AND (LESSP (TIMES P X) (TIMES X Y))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (DIFFERENCE P
(REMAINDER (TIMES X Y) P))
P))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 22.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL (TIMES 0 X) (REMAINDER P P))),
which again simplifies, using linear arithmetic, to the following
two new goals:
Case 22.2.
(IMPLIES
(AND (NOT (NUMBERP Y))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) 0)
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL (TIMES 0 X) (REMAINDER P P))).
But this again simplifies, rewriting with EQUAL-TIMES-0 and
TIMES-ZERO2, and opening up EQUAL, DIFFERENCE, and LESSP, to:
T.
Case 22.1.
(IMPLIES
(AND (NUMBERP Y)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) 0)
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X P))
P))
( LEQ (TIMES P X) (TIMES X P))
( LEQ P P)
(EQUAL (REMAINDER (TIMES X P) P) 0)
( LEQ P P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL (TIMES 0 X) (REMAINDER P P))),
which again simplifies, using linear arithmetic, applying
EQUAL-TIMES-0, COMMUTATIVITY-OF-TIMES, DIFFERENCE-0,
REMAINDER-0-CROCK, TIMES-ZERO2, REMAINDER-X-X, TIMES-IDENTITY,
DIVIDES-TIMES, and REMAINDER-TIMES, and unfolding the definitions
of EQUAL, DIFFERENCE, LESSP, and TIMES, to:
T.
Case 21.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(EQUAL P 0))
(EQUAL (TIMES 0 X)
(REMAINDER 0 P))).
However this simplifies again, using linear arithmetic, appealing
to the lemmas DIFFERENCE-0, TIMES-IDENTITY, EQUAL-TIMES-0, and
TIMES-ZERO2, and unfolding REMAINDER, EQUAL, LESSP, and TIMES, to:
T.
Case 20.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL (TIMES 0 X)
(REMAINDER 0 P))).
However this again simplifies, applying the lemmas EQUAL-TIMES-0,
DIFFERENCE-0, REMAINDER-0-CROCK, REMAINDER-WRT-12, TIMES-ZERO2, and
TIMES-IDENTITY, and expanding the functions LESSP, EQUAL, and TIMES,
to:
T.
Case 19.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL X 0)
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))).
However this simplifies again, using linear arithmetic, to the
following two new formulas:
Case 19.2.
(IMPLIES
(AND
(NOT (NUMBERP Y))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P 0)
(REMAINDER (TIMES 0 Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P 0) (TIMES 0 Y))
P))
( LEQ (TIMES P 0) (TIMES 0 Y))
( LEQ P Y)
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))),
which we again simplify, using linear arithmetic, rewriting with
COMMUTATIVITY-OF-TIMES, TIMES-ZERO2, REMAINDER-0-CROCK,
DIFFERENCE-0, and TIMES-IDENTITY, and expanding the definitions
of EQUAL and LESSP, to:
T.
Case 19.1.
(IMPLIES
(AND
(NUMBERP Y)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P 0)
(REMAINDER (TIMES 0 P) P))
P)
(REMAINDER (DIFFERENCE (TIMES P 0) (TIMES 0 P))
P))
( LEQ (TIMES P 0) (TIMES 0 P))
( LEQ P P)
( LEQ P P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))).
But this again simplifies, using linear arithmetic, applying
COMMUTATIVITY-OF-TIMES, DIVIDES-TIMES, DIFFERENCE-0,
REMAINDER-0-CROCK, TIMES-IDENTITY, and REMAINDER-X-X, and opening
up the functions EQUAL and LESSP, to:
T.
Case 18.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL X 0)
( LEQ Y P)
(EQUAL P 0))
(EQUAL 0 (REMAINDER 0 P))).
However this simplifies again, using linear arithmetic, applying
the lemmas REMAINDER-TIMES and DIFFERENCE-0, and expanding TIMES,
DIFFERENCE, REMAINDER, EQUAL, and LESSP, to:
T.
Case 17.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(EQUAL X 0)
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL 0 (REMAINDER 0 P))).
However this simplifies again, using linear arithmetic, rewriting
with TIMES-ZERO2, COMMUTATIVITY-OF-TIMES, REMAINDER-WRT-12,
DIFFERENCE-0, and REMAINDER-0-CROCK, and expanding EQUAL and LESSP,
to:
T.
Case 16.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(NOT (NUMBERP X))
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))).
This again simplifies, using linear arithmetic, to two new
conjectures:
Case 16.2.
(IMPLIES
(AND
(NOT (NUMBERP Y))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(NOT (NUMBERP X))
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))),
which again simplifies, rewriting with the lemmas TIMES-ZERO2 and
REMAINDER-0-CROCK, and unfolding DIFFERENCE, EQUAL, and LESSP, to:
T.
Case 16.1.
(IMPLIES
(AND
(NUMBERP Y)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X P) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X P))
P))
( LEQ (TIMES P X) (TIMES X P))
( LEQ P P)
(NOT (NUMBERP X))
( LEQ P P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))),
which again simplifies, rewriting with TIMES-ZERO2,
COMMUTATIVITY-OF-TIMES, REMAINDER-0-CROCK, and REMAINDER-X-X, and
expanding DIFFERENCE, EQUAL, and LESSP, to:
T.
Case 15.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(NOT (NUMBERP X))
( LEQ Y P)
(EQUAL P 0))
(EQUAL 0 (REMAINDER 0 P))),
which we again simplify, using linear arithmetic, applying the
lemmas TIMES-ZERO2 and DIFFERENCE-0, and opening up the functions
EQUAL, REMAINDER, and LESSP, to:
T.
Case 14.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
( LEQ P Y)
(NOT (NUMBERP X))
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL 0 (REMAINDER 0 P))),
which again simplifies, using linear arithmetic, rewriting with
TIMES-ZERO2, REMAINDER-WRT-12, DIFFERENCE-0, and REMAINDER-0-CROCK,
and opening up the functions EQUAL and LESSP, to:
T.
Case 13.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
(NOT (NUMBERP X))
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))).
However this again simplifies, using linear arithmetic, rewriting
with the lemmas TIMES-ZERO2, EQUAL-TIMES-0, DIFFERENCE-0,
REMAINDER-0-CROCK, and REMAINDER-X-X, and expanding the definitions
of LESSP, REMAINDER, and EQUAL, to:
T.
Case 12.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
(NOT (NUMBERP X))
( LEQ Y P)
(EQUAL P 0))
(EQUAL 0 (REMAINDER 0 P))),
which again simplifies, using linear arithmetic, applying the
lemmas TIMES-ZERO2 and DIFFERENCE-0, and opening up EQUAL,
REMAINDER, and LESSP, to:
T.
Case 11.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
(NOT (NUMBERP X))
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL 0 (REMAINDER 0 P))).
However this simplifies again, using linear arithmetic, applying
the lemmas TIMES-ZERO2, REMAINDER-WRT-12, DIFFERENCE-0, and
REMAINDER-0-CROCK, and unfolding EQUAL and LESSP, to:
T.
Case 10.(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
(EQUAL X 0)
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL 0 (REMAINDER P P))),
which again simplifies, using linear arithmetic, rewriting with
COMMUTATIVITY-OF-TIMES, TIMES-IDENTITY, DIFFERENCE-0,
REMAINDER-0-CROCK, and REMAINDER-X-X, and opening up the
definitions of LESSP, EQUAL, and REMAINDER, to:
T.
Case 9. (IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
(EQUAL X 0)
( LEQ Y P)
(EQUAL P 0))
(EQUAL 0 (REMAINDER 0 P))).
But this again simplifies, using linear arithmetic, rewriting with
REMAINDER-TIMES and DIFFERENCE-0, and expanding the definitions of
TIMES, DIFFERENCE, REMAINDER, EQUAL, and LESSP, to:
T.
Case 8. (IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
( LEQ (TIMES P X) (TIMES X Y))
(EQUAL X 0)
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL 0 (REMAINDER 0 P))).
This again simplifies, using linear arithmetic, rewriting with the
lemmas TIMES-ZERO2, COMMUTATIVITY-OF-TIMES, REMAINDER-WRT-12,
DIFFERENCE-0, and REMAINDER-0-CROCK, and expanding the definitions
of EQUAL and LESSP, to:
T.
Case 7. (IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
(REMAINDER P P))),
which again simplifies, applying EQUAL-TIMES-0, REMAINDER-TIMES,
and REMAINDER-X-X, and opening up EQUAL and DIFFERENCE, to:
T.
Case 6. (IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(EQUAL P 0))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
(REMAINDER 0 P))),
which we again simplify, using linear arithmetic, to:
T.
Case 5. (IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (TIMES X Y) P) 0)
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
(REMAINDER 0 P))).
This simplifies again, applying the lemmas EQUAL-TIMES-0,
DIFFERENCE-0, and REMAINDER-0-CROCK, and opening up LESSP,
DIFFERENCE, and EQUAL, to:
T.
Case 4. (IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
(LESSP P (REMAINDER (TIMES X Y) P)))
(EQUAL (REMAINDER (TIMES (DIFFERENCE P Y) X)
P)
(REMAINDER (DIFFERENCE P
(REMAINDER (TIMES Y X) P))
P))).
This simplifies again, using linear arithmetic, applying
DIFFERENCE-0, COMMUTATIVITY-OF-TIMES, TIMES-DIFFERENCE, and
REMAINDER-0-CROCK, and unfolding the definition of EQUAL, to:
T.
Case 3. (IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
(NOT (NUMBERP P)))
(EQUAL (DIFFERENCE P
(REMAINDER (TIMES X Y) P))
0)).
However this again simplifies, applying REMAINDER-WRT-12,
EQUAL-TIMES-0, and REMAINDER-0-CROCK, and opening up the functions
DIFFERENCE, EQUAL, and LESSP, to:
T.
Case 2. (IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
(EQUAL P 0))
(EQUAL (DIFFERENCE P
(REMAINDER (TIMES X Y) P))
0)).
This again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
( LEQ P
(DIFFERENCE P
(REMAINDER (TIMES X Y) P))))
(EQUAL (DIFFERENCE P
(REMAINDER (TIMES X Y) P))
0)),
which we again simplify, applying the lemmas LESSP-REMAINDER2 and
EQUAL-DIFFERENCE-0, to:
(IMPLIES
(AND (EQUAL (REMAINDER (DIFFERENCE (TIMES P X)
(REMAINDER (TIMES X Y) P))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
(LESSP (TIMES X Y) (TIMES P X))
(NOT (EQUAL X 0))
(NUMBERP X)
(LESSP Y P)
(EQUAL (REMAINDER (DIFFERENCE (TIMES P X) (TIMES X Y))
P)
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
( LEQ Y P)
( LEQ (REMAINDER (TIMES X Y) P) P)
( LEQ P
(DIFFERENCE P
(REMAINDER (TIMES X Y) P)))
(NOT (EQUAL P 0)))
(NOT (NUMBERP P))),
which again simplifies, using linear arithmetic and rewriting with
the lemma LESSP-REMAINDER-DIVISOR, to:
T.
Q.E.D.
[ 460.3194 4.6466797 ]
REFLECT-COMMUTES-WITH-TIMES-1
(PROVE-LEMMA REFLECT-COMMUTES-WITH-TIMES-2
(REWRITE)
(IMPLIES (LEQ Y P)
(EQUAL (REMAINDER (TIMES X (REFLECT Y P)) P)
(REMAINDER (REFLECT (REMAINDER (TIMES X Y) P) P)
P)))
((USE (REFLECT-COMMUTES-WITH-TIMES-1))
(DISABLE REFLECT-COMMUTES-WITH-TIMES-1 REFLECT)))
This conjecture simplifies, applying COMMUTATIVITY-OF-TIMES, and
expanding IMPLIES, to:
T.
Q.E.D.
[ 6.0670573 0.0169270833 ]
REFLECT-COMMUTES-WITH-TIMES-2
(PROVE-LEMMA TIMES-EXP-FACT
(REWRITE)
(IMPLIES (NOT (ZEROP N))
(EQUAL (REMAINDER (TIMES (TIMES A N)
(TIMES (EXP A (SUB1 N))
(FACT (SUB1 N))))
P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P))))
This formula can be simplified, using the abbreviations ZEROP, NOT,
IMPLIES, and ASSOCIATIVITY-OF-TIMES, to:
(IMPLIES
(AND (NOT (EQUAL N 0)) (NUMBERP N))
(EQUAL (REMAINDER (TIMES A
(TIMES N
(TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))))
P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P))),
which simplifies, applying the lemmas COMMUTATIVITY-OF-TIMES,
COMMUTATIVITY2-OF-TIMES, and ASSOCIATIVITY-OF-TIMES, and unfolding
EXP and FACT, to:
T.
Q.E.D.
[ 8.4059895 0.056966146 ]
TIMES-EXP-FACT
(PROVE-LEMMA REM-REFLECT-LIST-1
(REWRITE)
(IMPLIES
(AND (NOT (ZEROP P))
(NOT (ZEROP N))
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2.))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P)))
((USE
(REMAINDER-EXP-LEMMA (A P)
(X (TIMES A N))
(Y (TIMES-LIST (REFLECT-LIST (SUB1 N) A P)))
(Z (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N))))))
(HANDS-OFF TIMES DIFFERENCE QUOTIENT EXP FACT)
(DISABLE REMAINDER-EXP-LEMMA REFLECT)))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
AND, and IMPLIES, to the goal:
(IMPLIES
(AND
(IMPLIES
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P))
(EQUAL
(EQUAL
(REMAINDER (TIMES (TIMES A N)
(TIMES-LIST (REFLECT-LIST (SUB1 N) A P)))
P)
(REMAINDER (TIMES (TIMES A N)
(TIMES (EXP A (SUB1 N))
(FACT (SUB1 N))))
P))
T))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL N 0))
(NUMBERP N)
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P))),
which simplifies, applying the lemmas TIMES-EXP-FACT, CDR-CONS,
CAR-CONS, and TIMES-MOD-3, and expanding the definitions of IMPLIES,
REFLECT-LIST, and TIMES-LIST, to:
T.
Q.E.D.
[ 78.029882 0.131054688 ]
REM-REFLECT-LIST-1
(PROVE-LEMMA REM-REFLECT-LIST-2
(REWRITE)
(IMPLIES
(AND (NOT (ZEROP P))
(NOT (ZEROP N))
(LESSP (QUOTIENT P 2.)
(REMAINDER (TIMES A N) P))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A N) (FACT N))
P)
P)
P)))
((USE
(REMAINDER-EXP-LEMMA (A P)
(X (TIMES A N))
(Y (TIMES-LIST (REFLECT-LIST (SUB1 N) A P)))
(Z (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N))))))
(HANDS-OFF TIMES DIFFERENCE QUOTIENT EXP FACT)
(DISABLE REMAINDER-EXP-LEMMA REFLECT)))
This formula can be simplified, using the abbreviations ZEROP, NOT,
AND, and IMPLIES, to:
(IMPLIES
(AND
(IMPLIES
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P))
(EQUAL
(EQUAL
(REMAINDER (TIMES (TIMES A N)
(TIMES-LIST (REFLECT-LIST (SUB1 N) A P)))
P)
(REMAINDER (TIMES (TIMES A N)
(TIMES (EXP A (SUB1 N))
(FACT (SUB1 N))))
P))
T))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)))
(EQUAL
(REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A N) (FACT N))
P)
P)
P))).
This simplifies, using linear arithmetic, applying TIMES-EXP-FACT,
CDR-CONS, CAR-CONS, LESSP-REMAINDER-DIVISOR, TIMES-MOD-3, and
REFLECT-COMMUTES-WITH-TIMES-1, and expanding IMPLIES, REFLECT-LIST,
and TIMES-LIST, to:
T.
Q.E.D.
[ 78.902864 0.111132813 ]
REM-REFLECT-LIST-2
(PROVE-LEMMA REM-REFLECT-LIST-3
(REWRITE)
(IMPLIES
(AND (NOT (ZEROP P))
(NOT (ZEROP N))
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2.))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
P)
P)))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A N) (FACT N))
P)
P)
P)))
((USE
(REMAINDER-EXP-LEMMA (A P)
(X (TIMES A N))
(Y (TIMES-LIST (REFLECT-LIST (SUB1 N) A P)))
(Z (REFLECT (REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
P))))
(HANDS-OFF TIMES DIFFERENCE QUOTIENT EXP FACT)
(DISABLE REMAINDER-EXP-LEMMA REFLECT)))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
AND, and IMPLIES, to the new formula:
(IMPLIES
(AND
(IMPLIES
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
P)
P))
(EQUAL
(EQUAL
(REMAINDER (TIMES (TIMES A N)
(TIMES-LIST (REFLECT-LIST (SUB1 N) A P)))
P)
(REMAINDER
(TIMES (TIMES A N)
(REFLECT (REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
P))
P))
T))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL N 0))
(NUMBERP N)
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
P)
P)))
(EQUAL
(REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A N) (FACT N))
P)
P)
P))).
This simplifies, using linear arithmetic, applying
LESSP-REMAINDER-DIVISOR, TIMES-EXP-FACT, TIMES-MOD-1,
REFLECT-COMMUTES-WITH-TIMES-2, CDR-CONS, CAR-CONS, and TIMES-MOD-3,
and expanding IMPLIES, REFLECT-LIST, and TIMES-LIST, to:
T.
Q.E.D.
[ 100.658984 0.1240234375 ]
REM-REFLECT-LIST-3
(PROVE-LEMMA DOUBLE-REFLECT
(REWRITE)
(IMPLIES (LEQ A P)
(EQUAL (REMAINDER (REFLECT (REMAINDER (REFLECT A P) P)
P)
P)
(REMAINDER A P))))
This formula can be simplified, using the abbreviations IMPLIES and
REFLECT, to:
(IMPLIES
( LEQ A P)
(EQUAL (REMAINDER (DIFFERENCE P
(REMAINDER (DIFFERENCE P A) P))
P)
(REMAINDER A P))).
This simplifies, using linear arithmetic, rewriting with
REMAINDER-0-CROCK and DIFFERENCE-0, and opening up the definition of
REMAINDER, to 13 new conjectures:
Case 13.(IMPLIES
(AND ( LEQ A P)
(LESSP P
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))))
(EQUAL (REMAINDER (DIFFERENCE P
(REMAINDER (DIFFERENCE P A) P))
P)
(REMAINDER A P))),
which again simplifies, using linear arithmetic, applying the
lemmas DIFFERENCE-0, REMAINDER-0-CROCK, and REMAINDER-WRT-12, and
unfolding REMAINDER, DIFFERENCE, and EQUAL, to 14 new goals:
Case 13.14.
(IMPLIES
(AND ( LEQ A P)
( LEQ P (DIFFERENCE P A))
(LESSP P 0)
(LESSP P
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
0
(DIFFERENCE P A)))))
(EQUAL
(REMAINDER (DIFFERENCE P
(REMAINDER (DIFFERENCE P A) P))
P)
(REMAINDER A P))),
which we again simplify, using linear arithmetic, to:
T.
Case 13.13.
(IMPLIES (AND ( LEQ A P)
( LEQ P (DIFFERENCE P A))
(LESSP P 0)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P) 0 (DIFFERENCE P A)))
P)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (NUMBERP A))
(LESSP (DIFFERENCE P 0) P))
(EQUAL (DIFFERENCE P 0) 0)),
which we again simplify, using linear arithmetic, to:
T.
Case 13.12.
(IMPLIES (AND ( LEQ A P)
( LEQ P (DIFFERENCE P A))
(LESSP P 0)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P) 0 (DIFFERENCE P A)))
P)
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ P A)
(LESSP (DIFFERENCE P 0) P))
(EQUAL (DIFFERENCE P 0) 0)).
However this simplifies again, using linear arithmetic, to:
T.
Case 13.11.
(IMPLIES (AND ( LEQ A P)
( LEQ P (DIFFERENCE P A))
(LESSP P 0)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P) 0 (DIFFERENCE P A)))
P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP A P)
(NUMBERP A)
( LEQ P (DIFFERENCE P 0)))
(EQUAL 0 A)).
However this again simplifies, using linear arithmetic, to:
T.
Case 13.10.
(IMPLIES (AND ( LEQ A P)
( LEQ P (DIFFERENCE P A))
(LESSP P 0)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P) 0 (DIFFERENCE P A)))
P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP A P)
(NUMBERP A)
(LESSP (DIFFERENCE P 0) P))
(EQUAL (DIFFERENCE P 0) A)).
But this simplifies again, using linear arithmetic, to:
T.
Case 13.9.
(IMPLIES (AND ( LEQ A P)
( LEQ P (DIFFERENCE P A))
(LESSP P 0)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P) 0 (DIFFERENCE P A)))
P)
(EQUAL P 0)
(NOT (NUMBERP A)))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
0)).
However this simplifies again, using linear arithmetic, to:
T.
Case 13.8.
(IMPLIES (AND ( LEQ A P)
( LEQ P (DIFFERENCE P A))
(LESSP P 0)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P) 0 (DIFFERENCE P A)))
P)
(NOT (NUMBERP P))
(NOT (NUMBERP A)))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
0)),
which we again simplify, using linear arithmetic, to:
T.
Case 13.7.
(IMPLIES (AND ( LEQ A P)
( LEQ P (DIFFERENCE P A))
(LESSP P 0)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P) 0 (DIFFERENCE P A)))
P)
(EQUAL P 0)
(NUMBERP A))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
A)),
which we again simplify, using linear arithmetic, to:
(IMPLIES (AND (LESSP 0 (DIFFERENCE 0 A))
( LEQ A 0)
( LEQ 0 (DIFFERENCE 0 A))
(LESSP 0 0)
( LEQ
(IF (EQUAL 0 0)
(DIFFERENCE 0 A)
(IF (NUMBERP 0)
0
(DIFFERENCE 0 A)))
0)
(NUMBERP A))
(EQUAL (DIFFERENCE 0 (DIFFERENCE 0 A))
A)),
which we again simplify, using linear arithmetic, to:
T.
Case 13.6.
(IMPLIES (AND ( LEQ A P)
( LEQ P (DIFFERENCE P A))
(LESSP P 0)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P) 0 (DIFFERENCE P A)))
P)
(NOT (NUMBERP P))
(NUMBERP A))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
A)),
which we again simplify, using linear arithmetic, to:
(IMPLIES (AND (LESSP P (DIFFERENCE P A))
( LEQ A P)
( LEQ P (DIFFERENCE P A))
(LESSP P 0)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P) 0 (DIFFERENCE P A)))
P)
(NOT (NUMBERP P))
(NUMBERP A))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
A)).
This again simplifies, using linear arithmetic, to:
T.
Case 13.5.
(IMPLIES (AND ( LEQ A P)
(NOT (NUMBERP P))
(LESSP P 0)
(NUMBERP A))
(EQUAL 0 A)),
which we again simplify, using linear arithmetic, to:
T.
Case 13.4.
(IMPLIES (AND ( LEQ A P)
(EQUAL P 0)
(LESSP P 0)
(NUMBERP A))
(EQUAL 0 A)).
But this simplifies again, using linear arithmetic, to:
T.
Case 13.3.
(IMPLIES (AND ( LEQ A P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (DIFFERENCE P A) P)
(LESSP P (DIFFERENCE P A))
(NOT (NUMBERP A)))
(EQUAL (REMAINDER (DIFFERENCE P (DIFFERENCE P A))
P)
0)).
But this simplifies again, using linear arithmetic, to:
T.
Case 13.2.
(IMPLIES (AND ( LEQ A P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (DIFFERENCE P A) P)
(LESSP P (DIFFERENCE P A))
( LEQ P A))
(EQUAL (REMAINDER (DIFFERENCE P (DIFFERENCE P A))
P)
0)).
This simplifies again, using linear arithmetic, to:
T.
Case 13.1.
(IMPLIES (AND ( LEQ A P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (DIFFERENCE P A) P)
(LESSP P (DIFFERENCE P A))
(LESSP A P)
(NUMBERP A))
(EQUAL (REMAINDER (DIFFERENCE P (DIFFERENCE P A))
P)
A)).
However this simplifies again, using linear arithmetic, to:
T.
Case 12.(IMPLIES (AND ( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ P A)
(LESSP (DIFFERENCE P A) P)
(LESSP (DIFFERENCE P (DIFFERENCE P A))
P))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
0)),
which again simplifies, using linear arithmetic, to:
T.
Case 11.(IMPLIES (AND ( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(LESSP A P)
(NOT (NUMBERP A))
(LESSP (DIFFERENCE P A) P)
(LESSP (DIFFERENCE P (DIFFERENCE P A))
P))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
0)),
which we again simplify, using linear arithmetic, rewriting with
the lemma DIFFERENCE-0, and expanding the definitions of LESSP,
DIFFERENCE, and EQUAL, to:
T.
Case 10.(IMPLIES (AND ( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(NOT (NUMBERP P))
(NOT (NUMBERP A)))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
0)).
This again simplifies, using linear arithmetic, rewriting with the
lemma DIFFERENCE-0, and expanding the functions LESSP and EQUAL, to:
T.
Case 9. (IMPLIES (AND ( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(EQUAL P 0)
(NOT (NUMBERP A)))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
0)).
This simplifies again, using linear arithmetic, to:
(IMPLIES (AND (LESSP 0 (DIFFERENCE 0 A))
( LEQ A 0)
( LEQ
(IF (EQUAL 0 0)
(DIFFERENCE 0 A)
(IF (NUMBERP 0)
(IF (LESSP (DIFFERENCE 0 A) 0)
(DIFFERENCE 0 A)
0)
(DIFFERENCE 0 A)))
0)
(NOT (NUMBERP A)))
(EQUAL (DIFFERENCE 0 (DIFFERENCE 0 A))
0)),
which we again simplify, using linear arithmetic, to:
T.
Case 8. (IMPLIES (AND ( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (NUMBERP A))
( LEQ P (DIFFERENCE P A))
(LESSP (DIFFERENCE P 0) P))
(EQUAL (DIFFERENCE P 0) 0)),
which we again simplify, using linear arithmetic, to:
T.
Case 7. (IMPLIES (AND ( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ P A)
( LEQ P (DIFFERENCE P A))
(LESSP (DIFFERENCE P 0) P))
(EQUAL (DIFFERENCE P 0) 0)),
which we again simplify, using linear arithmetic, to:
T.
Case 6. (IMPLIES (AND ( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP A P)
(NUMBERP A)
(LESSP (DIFFERENCE P A) P)
( LEQ P
(DIFFERENCE P (DIFFERENCE P A))))
(EQUAL 0 A)),
which we again simplify, using linear arithmetic, to:
(IMPLIES (AND (LESSP P (DIFFERENCE P A))
( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP A P)
(NUMBERP A)
(LESSP (DIFFERENCE P A) P)
( LEQ P
(DIFFERENCE P (DIFFERENCE P A))))
(EQUAL 0 A)),
which we again simplify, using linear arithmetic, to:
T.
Case 5. (IMPLIES (AND ( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP A P)
(NUMBERP A)
( LEQ P (DIFFERENCE P A))
( LEQ P (DIFFERENCE P 0)))
(EQUAL 0 A)).
However this again simplifies, using linear arithmetic, to:
T.
Case 4. (IMPLIES (AND ( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(LESSP A P)
(NUMBERP A)
(LESSP (DIFFERENCE P A) P)
(LESSP (DIFFERENCE P (DIFFERENCE P A))
P))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
A)).
But this again simplifies, using linear arithmetic, to the new
conjecture:
(IMPLIES (AND (LESSP P (DIFFERENCE P A))
( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(LESSP A P)
(NUMBERP A)
(LESSP (DIFFERENCE P A) P)
(LESSP (DIFFERENCE P (DIFFERENCE P A))
P))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
A)).
However this again simplifies, using linear arithmetic, to:
T.
Case 3. (IMPLIES (AND ( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(NOT (NUMBERP P))
(NUMBERP A))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
A)).
But this again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP P (DIFFERENCE P A))
( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(NOT (NUMBERP P))
(NUMBERP A))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
A)).
This simplifies again, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND ( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(EQUAL P 0)
(NUMBERP A))
(EQUAL (DIFFERENCE P (DIFFERENCE P A))
A)),
which we again simplify, using linear arithmetic, to:
(IMPLIES (AND (LESSP 0 (DIFFERENCE 0 A))
( LEQ A 0)
( LEQ
(IF (EQUAL 0 0)
(DIFFERENCE 0 A)
(IF (NUMBERP 0)
(IF (LESSP (DIFFERENCE 0 A) 0)
(DIFFERENCE 0 A)
0)
(DIFFERENCE 0 A)))
0)
(NUMBERP A))
(EQUAL (DIFFERENCE 0 (DIFFERENCE 0 A))
A)).
But this again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND ( LEQ A P)
( LEQ
(IF (EQUAL P 0)
(DIFFERENCE P A)
(IF (NUMBERP P)
(IF (LESSP (DIFFERENCE P A) P)
(DIFFERENCE P A)
0)
(DIFFERENCE P A)))
P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP A P)
(NUMBERP A)
( LEQ P (DIFFERENCE P A))
(LESSP (DIFFERENCE P 0) P))
(EQUAL (DIFFERENCE P 0) A)),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 14.5389323 1.45507813 ]
DOUBLE-REFLECT
(PROVE-LEMMA REM-REFLECT-LIST-4
(REWRITE)
(IMPLIES
(AND (NOT (ZEROP P))
(NOT (ZEROP N))
(LESSP (QUOTIENT P 2.)
(REMAINDER (TIMES A N) P))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
P)
P)))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P)))
((USE
(REMAINDER-EXP-LEMMA (A P)
(X (TIMES A N))
(Y (TIMES-LIST (REFLECT-LIST (SUB1 N) A P)))
(Z (REFLECT (REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
P))))
(HANDS-OFF TIMES DIFFERENCE QUOTIENT EXP FACT)
(DISABLE REMAINDER-EXP-LEMMA REFLECT)))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
AND, and IMPLIES, to the new conjecture:
(IMPLIES
(AND
(IMPLIES
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
P)
P))
(EQUAL
(EQUAL
(REMAINDER (TIMES (TIMES A N)
(TIMES-LIST (REFLECT-LIST (SUB1 N) A P)))
P)
(REMAINDER
(TIMES (TIMES A N)
(REFLECT (REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
P))
P))
T))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
P)
P)))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P))).
This simplifies, using linear arithmetic, appealing to the lemmas
LESSP-REMAINDER-DIVISOR, TIMES-EXP-FACT, TIMES-MOD-1,
REFLECT-COMMUTES-WITH-TIMES-2, CDR-CONS, CAR-CONS, TIMES-MOD-3,
LESSP-REMAINDER2, DOUBLE-REFLECT, and REFLECT-COMMUTES-WITH-TIMES-1,
and expanding IMPLIES, REFLECT-LIST, TIMES-LIST, and REMAINDER, to:
T.
Q.E.D.
[ 102.499023 0.12890625 ]
REM-REFLECT-LIST-4
(PROVE-LEMMA REM-REFLECT-LIST-BASE-CASE
(REWRITE)
(IMPLIES (ZEROP N)
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P))))
This simplifies, applying the lemmas REMAINDER-OF-1 and EXP-BY-0, and
expanding the definitions of ZEROP, EQUAL, REFLECT-LIST, TIMES-LIST,
FACT, TIMES, and EXP, to:
T.
Q.E.D.
[ 3.44902343 0.0299479167 ]
REM-REFLECT-LIST-BASE-CASE
(PROVE-LEMMA REM-REFLECT-LIST NIL
(IMPLIES
(NOT (ZEROP P))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(IF (RES1 N A P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A N) (FACT N))
P)
P)
P))))
((HANDS-OFF TIMES-LIST REFLECT-LIST QUOTIENT EXP FACT TIMES)
(DISABLE REFLECT)))
This formula can be simplified, using the abbreviations ZEROP, NOT,
and IMPLIES, to the new conjecture:
(IMPLIES
(AND (NOT (EQUAL P 0)) (NUMBERP P))
(EQUAL
(REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(IF (RES1 N A P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A N) (FACT N))
P)
P)
P)))).
This simplifies, trivially, to two new conjectures:
Case 2. (IMPLIES
(AND (NOT (EQUAL P 0))
(NUMBERP P)
(NOT (RES1 N A P)))
(EQUAL
(REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A N) (FACT N))
P)
P)
P))).
Call the above conjecture *1.
Case 1. (IMPLIES (AND (NOT (EQUAL P 0))
(NUMBERP P)
(RES1 N A P))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P))),
which we would usually push and work on later by induction. But if
we must use induction to prove the input conjecture, we prefer to
induct on the original formulation of the problem. Thus we will
disregard all that we have previously done, give the name *1 to the
original input, and work on it.
So now let us consider:
(IMPLIES
(NOT (ZEROP P))
(EQUAL (REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(IF (RES1 N A P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A N) (FACT N))
P)
P)
P)))).
We named this *1. We will appeal to induction. Six inductions are
suggested by terms in the conjecture. However, they merge into one
likely candidate induction. We will induct according to the
following scheme:
(AND (IMPLIES (ZEROP N) (P N A P))
(IMPLIES (AND (NOT (ZEROP N))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(P (SUB1 N) A P))
(P N A P))
(IMPLIES (AND (NOT (ZEROP N))
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2))
(P (SUB1 N) A P))
(P N A P))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of
ZEROP inform us that the measure (COUNT N) decreases according to the
well-founded relation LESSP in each induction step of the scheme.
The above induction scheme generates three new conjectures:
Case 3. (IMPLIES
(AND (ZEROP N) (NOT (ZEROP P)))
(EQUAL
(REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(IF
(RES1 N A P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A N) (FACT N))
P)
P)
P)))),
which simplifies, rewriting with REM-REFLECT-LIST-BASE-CASE, and
opening up ZEROP, FACT, EQUAL, and RES1, to:
T.
Case 2. (IMPLIES
(AND
(NOT (ZEROP N))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(EQUAL
(REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(IF (RES1 (SUB1 N) A P)
(REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
P)
P)))
(NOT (ZEROP P)))
(EQUAL
(REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(IF
(RES1 N A P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A N) (FACT N))
P)
P)
P)))),
which simplifies, appealing to the lemmas REM-REFLECT-LIST-4 and
REM-REFLECT-LIST-2, and unfolding the definitions of ZEROP and RES1,
to:
T.
Case 1. (IMPLIES
(AND
(NOT (ZEROP N))
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2))
(EQUAL
(REMAINDER (TIMES-LIST (REFLECT-LIST (SUB1 N) A P))
P)
(IF (RES1 (SUB1 N) A P)
(REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A (SUB1 N))
(FACT (SUB1 N)))
P)
P)
P)))
(NOT (ZEROP P)))
(EQUAL
(REMAINDER (TIMES-LIST (REFLECT-LIST N A P))
P)
(IF
(RES1 N A P)
(REMAINDER (TIMES (EXP A N) (FACT N))
P)
(REMAINDER (REFLECT (REMAINDER (TIMES (EXP A N) (FACT N))
P)
P)
P)))),
which we simplify, rewriting with REM-REFLECT-LIST-3 and
REM-REFLECT-LIST-1, and opening up ZEROP and RES1, to:
T.
That finishes the proof of *1. Q.E.D.
[ 172.407097 0.475911457 ]
REM-REFLECT-LIST
(PROVE-LEMMA LENGTH-REFLECT-LIST
(REWRITE)
(EQUAL (LENGTH (REFLECT-LIST N A P))
(FIX N))
((INDUCT (POSITIVES N))))
This formula can be simplified, using the abbreviations ZEROP, NOT,
OR, and AND, to the following two new goals:
Case 2. (IMPLIES (ZEROP N)
(EQUAL (LENGTH (REFLECT-LIST N A P))
(FIX N))),
which simplifies, opening up the definitions of ZEROP, EQUAL,
REFLECT-LIST, LENGTH, and FIX, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (LENGTH (REFLECT-LIST (SUB1 N) A P))
(FIX (SUB1 N))))
(EQUAL (LENGTH (REFLECT-LIST N A P))
(FIX N))),
which simplifies, unfolding the functions FIX, REFLECT, and
REFLECT-LIST, to two new conjectures:
Case 1.2.
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (LENGTH (REFLECT-LIST (SUB1 N) A P))
(SUB1 N))
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2)))
(EQUAL (LENGTH (CONS (REMAINDER (TIMES A N) P)
(REFLECT-LIST (SUB1 N) A P)))
N)).
However this simplifies again, applying the lemmas ADD1-SUB1 and
CDR-CONS, and expanding the definition of LENGTH, to:
T.
Case 1.1.
(IMPLIES
(AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (LENGTH (REFLECT-LIST (SUB1 N) A P))
(SUB1 N))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P)))
(EQUAL (LENGTH (CONS (DIFFERENCE P
(REMAINDER (TIMES A N) P))
(REFLECT-LIST (SUB1 N) A P)))
N)),
which again simplifies, rewriting with ADD1-SUB1 and CDR-CONS,
and opening up LENGTH, to:
T.
Q.E.D.
[ 78.3619795 0.167057293 ]
LENGTH-REFLECT-LIST
(PROVE-LEMMA ALL-LESSEQP-REFLECT-LIST-1
(REWRITE)
(IMPLIES (LESSP (QUOTIENT P 2.) X)
( LEQ (REFLECT X P) (QUOTIENT P 2.))))
WARNING: Note that the linear lemma ALL-LESSEQP-REFLECT-LIST-1 is
being stored under the term (REFLECT X P), which is unusual because
REFLECT is a nonrecursive function symbol.
WARNING: When the linear lemma ALL-LESSEQP-REFLECT-LIST-1 is stored
under (QUOTIENT P 2.) it contains the free variable X which will be
chosen by instantiating the hypothesis (LESSP (QUOTIENT P 2.) X).
This formula can be simplified, using the abbreviations NOT, IMPLIES,
and REFLECT, to:
(IMPLIES (LESSP (QUOTIENT P 2) X)
( LEQ
(DIFFERENCE P X)
(QUOTIENT P 2))).
Applying the lemma REMAINDER-QUOTIENT-ELIM, replace P by
(PLUS V (TIMES 2 Z)) to eliminate (QUOTIENT P 2) and (REMAINDER P 2).
We use LESSP-REMAINDER2, the type restriction lemma noted when
QUOTIENT was introduced, and the type restriction lemma noted when
REMAINDER was introduced to constrain the new variables. We must
thus prove the following four new conjectures:
Case 4. (IMPLIES (AND (NOT (NUMBERP P))
(LESSP (QUOTIENT P 2) X))
( LEQ
(DIFFERENCE P X)
(QUOTIENT P 2))).
This simplifies, using linear arithmetic, applying DIFFERENCE-0,
and opening up LESSP, NUMBERP, EQUAL, and QUOTIENT, to:
T.
Case 3. (IMPLIES (AND (EQUAL 2 0)
(LESSP (QUOTIENT P 2) X))
( LEQ
(DIFFERENCE P X)
(QUOTIENT P 2))),
which we simplify, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (NOT (NUMBERP 2))
(LESSP (QUOTIENT P 2) X))
( LEQ
(DIFFERENCE P X)
(QUOTIENT P 2))).
This simplifies, trivially, to:
T.
Case 1. (IMPLIES (AND (NUMBERP Z)
(NUMBERP V)
(EQUAL (LESSP V 2) (NOT (ZEROP 2)))
(NOT (EQUAL 2 0))
(LESSP Z X))
( LEQ
(DIFFERENCE (PLUS V (TIMES 2 Z)) X)
Z)).
However this simplifies, rewriting with TIMES-2, and expanding
ZEROP, NOT, and EQUAL, to the new conjecture:
(IMPLIES (AND (NUMBERP Z)
(NUMBERP V)
(LESSP V 2)
(LESSP Z X))
( LEQ
(DIFFERENCE (PLUS V (PLUS Z Z)) X)
Z)).
This simplifies again, using linear arithmetic, to the new formula:
(IMPLIES (AND (LESSP (PLUS V (PLUS Z Z)) X)
(NUMBERP Z)
(NUMBERP V)
(LESSP V 2)
(LESSP Z X))
( LEQ
(DIFFERENCE (PLUS V (PLUS Z Z)) X)
Z)).
This again simplifies, using linear arithmetic, rewriting with
DIFFERENCE-0, and expanding the definitions of EQUAL and LESSP, to:
T.
Q.E.D.
[ 3.1280599 0.258007813 ]
ALL-LESSEQP-REFLECT-LIST-1
(PROVE-LEMMA ALL-LESSEQP-REFLECT-LIST
(REWRITE)
(ALL-LESSEQP (REFLECT-LIST N A P)
(QUOTIENT P 2.))
((DISABLE REFLECT)))
.
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace P by
(PLUS Z (TIMES 2 X)) to eliminate (QUOTIENT P 2) and (REMAINDER P 2).
We use LESSP-REMAINDER2, the type restriction lemma noted when
QUOTIENT was introduced, and the type restriction lemma noted when
REMAINDER was introduced to constrain the new variables. We would
thus like to prove the following four new formulas:
Case 4. (IMPLIES (NOT (NUMBERP P))
(ALL-LESSEQP (REFLECT-LIST N A P)
(QUOTIENT P 2))),
which simplifies, expanding the definitions of LESSP, NUMBERP,
EQUAL, and QUOTIENT, to:
(IMPLIES (NOT (NUMBERP P))
(ALL-LESSEQP (REFLECT-LIST N A P)
0)),
which we would normally push and work on later by induction. But
if we must use induction to prove the input conjecture, we prefer
to induct on the original formulation of the problem. Thus we will
disregard all that we have previously done, give the name *1 to the
original input, and work on it.
So now let us return to:
(ALL-LESSEQP (REFLECT-LIST N A P)
(QUOTIENT P 2)),
named *1 above. We will appeal to induction. The recursive terms in
the conjecture suggest two inductions. However, only one is unflawed.
We will induct according to the following scheme:
(AND (IMPLIES (ZEROP N) (P N A P))
(IMPLIES (AND (NOT (ZEROP N))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(P (SUB1 N) A P))
(P N A P))
(IMPLIES (AND (NOT (ZEROP N))
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2))
(P (SUB1 N) A P))
(P N A P))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of
ZEROP inform us that the measure (COUNT N) decreases according to the
well-founded relation LESSP in each induction step of the scheme.
The above induction scheme produces the following three new formulas:
Case 3. (IMPLIES (ZEROP N)
(ALL-LESSEQP (REFLECT-LIST N A P)
(QUOTIENT P 2))).
This simplifies, applying PIGEON-HOLE-PRINCIPLE-LEMMA-2, and
unfolding the functions ZEROP, EQUAL, REFLECT-LIST, ALL-LESSEQP,
MEMBER, and LISTP, to:
T.
Case 2. (IMPLIES (AND (NOT (ZEROP N))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(ALL-LESSEQP (REFLECT-LIST (SUB1 N) A P)
(QUOTIENT P 2)))
(ALL-LESSEQP (REFLECT-LIST N A P)
(QUOTIENT P 2))),
which we simplify, applying CDR-CONS and CAR-CONS, and expanding
the definitions of ZEROP, REFLECT-LIST, and ALL-LESSEQP, to the new
formula:
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(ALL-LESSEQP (REFLECT-LIST (SUB1 N) A P)
(QUOTIENT P 2)))
( LEQ
(REFLECT (REMAINDER (TIMES A N) P) P)
(QUOTIENT P 2))).
This again simplifies, using linear arithmetic and rewriting with
ALL-LESSEQP-REFLECT-LIST-1, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP N))
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2))
(ALL-LESSEQP (REFLECT-LIST (SUB1 N) A P)
(QUOTIENT P 2)))
(ALL-LESSEQP (REFLECT-LIST N A P)
(QUOTIENT P 2))),
which simplifies, rewriting with the lemmas CDR-CONS and CAR-CONS,
and expanding the functions ZEROP, REFLECT-LIST, and ALL-LESSEQP,
to:
T.
That finishes the proof of *1. Q.E.D.
[ 28.1197917 0.41419271 ]
ALL-LESSEQP-REFLECT-LIST
(PROVE-LEMMA ALL-NON-ZEROP-REFLECT-LIST
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P A))
(LESSP B P))
(ALL-NON-ZEROP (REFLECT-LIST B A P)))
((INDUCT (REFLECT-LIST B A P))
(DISABLE PRIME1)))
This conjecture can be simplified, using the abbreviations ZEROP,
PRIME, IMPLIES, NOT, OR, AND, and DIVIDES, to three new formulas:
Case 3. (IMPLIES (AND (ZEROP B)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(LESSP B P))
(ALL-NON-ZEROP (REFLECT-LIST B A P))).
This simplifies, expanding the definitions of ZEROP, EQUAL, LESSP,
REFLECT-LIST, and ALL-NON-ZEROP, to:
T.
Case 2. (IMPLIES
(AND (NOT (EQUAL B 0))
(NUMBERP B)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A B) P))
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(LESSP (SUB1 B) P)))
(ALL-NON-ZEROP (REFLECT-LIST (SUB1 B) A P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(LESSP B P))
(ALL-NON-ZEROP (REFLECT-LIST B A P))),
which simplifies, applying the lemmas CDR-CONS, EQUAL-DIFFERENCE-0,
LESSP-REMAINDER2, and CAR-CONS, and unfolding PRIME, NOT, AND,
IMPLIES, LESSP, REFLECT, REFLECT-LIST, and ALL-NON-ZEROP, to:
(IMPLIES (AND (NOT (EQUAL B 0))
(NUMBERP B)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A B) P))
( LEQ P (SUB1 B))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(LESSP (SUB1 B) (SUB1 P)))
(ALL-NON-ZEROP (REFLECT-LIST (SUB1 B) A P))).
This simplifies again, using linear arithmetic, to:
T.
Case 1. (IMPLIES
(AND (NOT (EQUAL B 0))
(NUMBERP B)
( LEQ
(REMAINDER (TIMES A B) P)
(QUOTIENT P 2))
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(LESSP (SUB1 B) P)))
(ALL-NON-ZEROP (REFLECT-LIST (SUB1 B) A P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(LESSP B P))
(ALL-NON-ZEROP (REFLECT-LIST B A P))),
which we simplify, rewriting with CDR-CONS, PRIME-KEY-REWRITE, and
CAR-CONS, and unfolding the functions PRIME, NOT, AND, IMPLIES,
LESSP, REFLECT-LIST, REMAINDER, and ALL-NON-ZEROP, to:
(IMPLIES (AND (NOT (EQUAL B 0))
(NUMBERP B)
( LEQ
(REMAINDER (TIMES A B) P)
(QUOTIENT P 2))
( LEQ P (SUB1 B))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(LESSP (SUB1 B) (SUB1 P)))
(ALL-NON-ZEROP (REFLECT-LIST (SUB1 B) A P))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 424.601173 1.34889323 ]
ALL-NON-ZEROP-REFLECT-LIST
(PROVE-LEMMA ALL-DISTINCT-REFLECT-LIST-1
(REWRITE)
(IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (DIVIDES P A)))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
((DISABLE PRIME)))
This formula can be simplified, using the abbreviations NOT, AND,
IMPLIES, and DIVIDES, to:
(IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P)))).
This simplifies, using linear arithmetic, applying REMAINDER-0-CROCK,
DIFFERENCE-0, and THM-55-SPECIALIZED-TO-PRIMES, and expanding
REMAINDER, to the following 12 new goals:
Case 12.(IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL P 0)
(NUMBERP J)
(NUMBERP I))
(NOT (EQUAL I J))),
which again simplifies, using linear arithmetic, to:
T.
Case 11.(IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (NUMBERP P))
(NUMBERP J)
(NUMBERP I))
(NOT (EQUAL I J))).
This again simplifies, using linear arithmetic, to:
T.
Case 10.(IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(LESSP J P)
(NUMBERP J)
(NUMBERP I))
(NOT (EQUAL I J))),
which we again simplify, using linear arithmetic, to:
T.
Case 9. (IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL P 0)
(NOT (NUMBERP I)))
(NOT (EQUAL 0 J))),
which we again simplify, using linear arithmetic, to:
T.
Case 8. (IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (NUMBERP P))
(NOT (NUMBERP I)))
(NOT (EQUAL 0 J))).
However this simplifies again, unfolding LESSP, to:
T.
Case 7. (IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(LESSP J P)
(NOT (NUMBERP I)))
(NOT (EQUAL 0 J))).
But this again simplifies, unfolding the definition of LESSP, to:
T.
Case 6. (IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(EQUAL P 0)
(NOT (NUMBERP J)))
(NOT (EQUAL I 0))),
which we again simplify, using linear arithmetic, to:
T.
Case 5. (IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (NUMBERP P))
(NOT (NUMBERP J)))
(NOT (EQUAL I 0))),
which we again simplify, using linear arithmetic, to:
T.
Case 4. (IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(LESSP J P)
(NOT (NUMBERP J)))
(NOT (EQUAL I 0))),
which we again simplify, using linear arithmetic, to:
T.
Case 3. (IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ P J))
(NOT (EQUAL I 0))).
This simplifies again, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (NUMBERP J)))
(NUMBERP I)),
which we again simplify, unfolding LESSP, to:
T.
Case 1. (IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL P 0))
(NUMBERP P)
( LEQ P J))
(NUMBERP I)),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 8.1451172 0.446875 ]
ALL-DISTINCT-REFLECT-LIST-1
(PROVE-LEMMA ALL-DISTINCT-REFLECT-LIST-2
(REWRITE)
(IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(LESSP X P)
(LESSP Y P))
(EQUAL (EQUAL (DIFFERENCE P X)
(DIFFERENCE P Y))
(EQUAL X Y))))
This simplifies, trivially, to two new conjectures:
Case 2. (IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(LESSP X P)
(LESSP Y P)
(NOT (EQUAL X Y)))
(NOT (EQUAL (DIFFERENCE P X)
(DIFFERENCE P Y)))).
However this again simplifies, using linear arithmetic, to the
following two new conjectures:
Case 2.2.
(IMPLIES (AND (LESSP P X)
(NUMBERP X)
(NUMBERP Y)
(LESSP X P)
(LESSP Y P)
(NOT (EQUAL X Y)))
(NOT (EQUAL (DIFFERENCE P X)
(DIFFERENCE P Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 2.1.
(IMPLIES (AND (LESSP P Y)
(NUMBERP X)
(NUMBERP Y)
(LESSP X P)
(LESSP Y P)
(NOT (EQUAL X Y)))
(NOT (EQUAL (DIFFERENCE P X)
(DIFFERENCE P Y)))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (NUMBERP X)
(NUMBERP Y)
(LESSP X P)
(LESSP Y P)
(EQUAL X Y))
(EQUAL (EQUAL (DIFFERENCE P X)
(DIFFERENCE P Y))
T)),
which we again simplify, unfolding EQUAL, to:
T.
Q.E.D.
[ 2.20514324 0.126822917 ]
ALL-DISTINCT-REFLECT-LIST-2
(PROVE-LEMMA NUMBERP-REMAINDER
(REWRITE)
(NUMBERP (REMAINDER A P)))
This simplifies, obviously, to:
T.
Q.E.D.
[ 0.0369140627 0.012109375 ]
NUMBERP-REMAINDER
(PROVE-LEMMA ALL-DISTINCT-REFLECT-LIST-3
(REWRITE)
(IMPLIES (AND (PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (DIVIDES P A)))
(NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P))))
((USE (ALL-DISTINCT-REFLECT-LIST-1))
(HANDS-OFF DIFFERENCE REMAINDER TIMES)
(DISABLE ALL-DISTINCT-REFLECT-LIST-1 PRIME)))
This conjecture can be simplified, using the abbreviations NOT, AND,
IMPLIES, REFLECT, and DIVIDES, to:
(IMPLIES
(AND
(IMPLIES (AND (PRIME P)
(AND (LESSP J I)
(AND (LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
This simplifies, applying THM-55-SPECIALIZED-TO-PRIMES, and expanding
the definitions of NOT, AND, and IMPLIES, to:
(IMPLIES (AND (NOT (EQUAL (REMAINDER I P)
(REMAINDER J P)))
(PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace I by
(PLUS X (TIMES P Z)) to eliminate (REMAINDER I P) and (QUOTIENT I P).
We rely upon LESSP-REMAINDER2, the type restriction lemma noted when
REMAINDER was introduced, and the type restriction lemma noted when
QUOTIENT was introduced to restrict the new variables. We must thus
prove four new goals:
Case 4. (IMPLIES
(AND (NOT (NUMBERP I))
(NOT (EQUAL (REMAINDER I P)
(REMAINDER J P)))
(PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))),
which we further simplify, expanding the function LESSP, to:
T.
Case 3. (IMPLIES
(AND (EQUAL P 0)
(NOT (EQUAL (REMAINDER I P)
(REMAINDER J P)))
(PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
However this simplifies further, using linear arithmetic, to:
T.
Case 2. (IMPLIES
(AND (NOT (NUMBERP P))
(NOT (EQUAL (REMAINDER I P)
(REMAINDER J P)))
(PRIME P)
(LESSP J I)
(LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
However this further simplifies, opening up the function LESSP, to:
T.
Case 1. (IMPLIES
(AND (NUMBERP X)
(EQUAL (LESSP X P) (NOT (ZEROP P)))
(NUMBERP Z)
(NUMBERP P)
(NOT (EQUAL P 0))
(NOT (EQUAL X (REMAINDER J P)))
(PRIME P)
(LESSP J (PLUS X (TIMES P Z)))
(LESSP (PLUS X (TIMES P Z)) P)
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT
(EQUAL (DIFFERENCE P
(REMAINDER (TIMES A (PLUS X (TIMES P Z)))
P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))),
which further simplifies, using linear arithmetic, rewriting with
LESSP-REMAINDER2, LESSP-REMAINDER-DIVISOR,
THM-55-SPECIALIZED-TO-PRIMES, and ALL-DISTINCT-REFLECT-LIST-2, and
expanding ZEROP and NOT, to the new conjecture:
(IMPLIES (AND (NUMBERP X)
(LESSP X P)
(NUMBERP Z)
(NUMBERP P)
(NOT (EQUAL P 0))
(NOT (EQUAL X (REMAINDER J P)))
(PRIME P)
(LESSP J (PLUS X (TIMES P Z)))
(LESSP (PLUS X (TIMES P Z)) P)
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT (EQUAL (REMAINDER (PLUS X (TIMES P Z)) P)
(REMAINDER J P)))).
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace J by
(PLUS V (TIMES P W)) to eliminate (REMAINDER J P) and
(QUOTIENT J P). We rely upon LESSP-REMAINDER2, the type
restriction lemma noted when REMAINDER was introduced, and the type
restriction lemma noted when QUOTIENT was introduced to constrain
the new variables. This produces two new formulas:
Case 1.2.
(IMPLIES (AND (NOT (NUMBERP J))
(NUMBERP X)
(LESSP X P)
(NUMBERP Z)
(NUMBERP P)
(NOT (EQUAL P 0))
(NOT (EQUAL X (REMAINDER J P)))
(PRIME P)
(LESSP J (PLUS X (TIMES P Z)))
(LESSP (PLUS X (TIMES P Z)) P)
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT (EQUAL (REMAINDER (PLUS X (TIMES P Z)) P)
(REMAINDER J P)))),
which further simplifies, rewriting with PLUS-EQUAL-0 and
EQUAL-TIMES-0, and expanding the definition of LESSP, to the
following two new formulas:
Case 1.2.2.
(IMPLIES (AND (NOT (NUMBERP J))
(NUMBERP X)
(LESSP X P)
(NUMBERP Z)
(NUMBERP P)
(NOT (EQUAL P 0))
(NOT (EQUAL X (REMAINDER J P)))
(PRIME P)
(NOT (EQUAL X 0))
(LESSP (PLUS X (TIMES P Z)) P)
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT (EQUAL (REMAINDER (PLUS X (TIMES P Z)) P)
(REMAINDER J P)))).
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace
A by (PLUS V (TIMES P W)) to eliminate (REMAINDER A P) and
(QUOTIENT A P). We employ LESSP-REMAINDER2, the type
restriction lemma noted when REMAINDER was introduced, and the
type restriction lemma noted when QUOTIENT was introduced to
restrict the new variables. We would thus like to prove two
new conjectures:
Case 1.2.2.2.
(IMPLIES (AND (NOT (NUMBERP A))
(NOT (NUMBERP J))
(NUMBERP X)
(LESSP X P)
(NUMBERP Z)
(NUMBERP P)
(NOT (EQUAL P 0))
(NOT (EQUAL X (REMAINDER J P)))
(PRIME P)
(NOT (EQUAL X 0))
(LESSP (PLUS X (TIMES P Z)) P)
(NOT (EQUAL (REMAINDER A P) 0)))
(NOT (EQUAL (REMAINDER (PLUS X (TIMES P Z)) P)
(REMAINDER J P)))),
which we would normally push and work on later by induction.
But if we must use induction to prove the input conjecture,
we prefer to induct on the original formulation of the
problem. Thus we will disregard all that we have previously
done, give the name *1 to the original input, and work on it.
So now let us consider:
(IF (IMPLIES (AND (PRIME P)
(AND (LESSP J I)
(AND (LESSP I P)
(NOT (DIVIDES P A)))))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(IMPLIES (AND (PRIME P)
(AND (LESSP J I)
(AND (LESSP I P)
(NOT (DIVIDES P A)))))
(NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P))))
T),
named *1. We will try to prove it by induction. Eight inductions
are suggested by terms in the conjecture. However, they merge into
one likely candidate induction. We will induct according to the
following scheme:
(AND (IMPLIES (OR (EQUAL I 0) (NOT (NUMBERP I)))
(P P J I A))
(IMPLIES (AND (NOT (OR (EQUAL I 0) (NOT (NUMBERP I))))
(OR (EQUAL J 0) (NOT (NUMBERP J))))
(P P J I A))
(IMPLIES (AND (NOT (OR (EQUAL I 0) (NOT (NUMBERP I))))
(NOT (OR (EQUAL J 0) (NOT (NUMBERP J))))
(P (SUB1 P) (SUB1 J) (SUB1 I) A))
(P P J I A))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the
definitions of OR and NOT inform us that the measure (COUNT J)
decreases according to the well-founded relation LESSP in each
induction step of the scheme. Note, however, the inductive instances
chosen for P and I. The above induction scheme leads to the
following three new conjectures:
Case 3. (IMPLIES
(OR (EQUAL I 0) (NOT (NUMBERP I)))
(IF
(IMPLIES (AND (PRIME P)
(AND (LESSP J I)
(AND (LESSP I P)
(NOT (DIVIDES P A)))))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(IMPLIES (AND (PRIME P)
(AND (LESSP J I)
(AND (LESSP I P)
(NOT (DIVIDES P A)))))
(NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P))))
T)).
This simplifies, opening up the functions NOT, OR, EQUAL, LESSP,
DIVIDES, AND, IMPLIES, and REFLECT, to:
T.
Case 2. (IMPLIES
(AND (NOT (OR (EQUAL I 0) (NOT (NUMBERP I))))
(OR (EQUAL J 0) (NOT (NUMBERP J))))
(IF
(IMPLIES (AND (PRIME P)
(AND (LESSP J I)
(AND (LESSP I P)
(NOT (DIVIDES P A)))))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(IMPLIES (AND (PRIME P)
(AND (LESSP J I)
(AND (LESSP I P)
(NOT (DIVIDES P A)))))
(NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P))))
T)).
This simplifies, opening up the functions NOT, OR, EQUAL, LESSP,
DIVIDES, AND, IMPLIES, and REFLECT, to the following two new goals:
Case 2.2.
(IMPLIES
(AND (NOT (EQUAL I 0))
(NUMBERP I)
(EQUAL J 0)
(PRIME P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A 0) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A 0) P))))),
which we again simplify, using linear arithmetic, to two new
conjectures:
Case 2.2.2.
(IMPLIES
(AND (LESSP P (REMAINDER (TIMES A I) P))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A 0) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A 0) P))))),
which we again simplify, using linear arithmetic and applying
LESSP-REMAINDER-DIVISOR, to:
T.
Case 2.2.1.
(IMPLIES
(AND (LESSP P (REMAINDER (TIMES A 0) P))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A 0) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A 0) P))))),
which we again simplify, using linear arithmetic and applying
LESSP-REMAINDER-DIVISOR, to:
T.
Case 2.1.
(IMPLIES
(AND (NOT (EQUAL I 0))
(NUMBERP I)
(NOT (NUMBERP J))
(PRIME P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))),
which we again simplify, using linear arithmetic, to the
following two new formulas:
Case 2.1.2.
(IMPLIES
(AND (LESSP P (REMAINDER (TIMES A I) P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (NUMBERP J))
(PRIME P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
This simplifies again, using linear arithmetic and applying
LESSP-REMAINDER-DIVISOR, to:
T.
Case 2.1.1.
(IMPLIES
(AND (LESSP P (REMAINDER (TIMES A J) P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (NUMBERP J))
(PRIME P)
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))),
which we again simplify, using linear arithmetic and applying
LESSP-REMAINDER-DIVISOR, to:
T.
Case 1. (IMPLIES
(AND
(NOT (OR (EQUAL I 0) (NOT (NUMBERP I))))
(NOT (OR (EQUAL J 0) (NOT (NUMBERP J))))
(IF
(IMPLIES (AND (PRIME (SUB1 P))
(AND (LESSP (SUB1 J) (SUB1 I))
(AND (LESSP (SUB1 I) (SUB1 P))
(NOT (DIVIDES (SUB1 P) A)))))
(NOT (EQUAL (REMAINDER (TIMES A (SUB1 I))
(SUB1 P))
(REMAINDER (TIMES A (SUB1 J))
(SUB1 P)))))
(IMPLIES (AND (PRIME (SUB1 P))
(AND (LESSP (SUB1 J) (SUB1 I))
(AND (LESSP (SUB1 I) (SUB1 P))
(NOT (DIVIDES (SUB1 P) A)))))
(NOT (EQUAL (REFLECT (REMAINDER (TIMES A (SUB1 I))
(SUB1 P))
(SUB1 P))
(REFLECT (REMAINDER (TIMES A (SUB1 J))
(SUB1 P))
(SUB1 P)))))
T))
(IF
(IMPLIES (AND (PRIME P)
(AND (LESSP J I)
(AND (LESSP I P)
(NOT (DIVIDES P A)))))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(IMPLIES (AND (PRIME P)
(AND (LESSP J I)
(AND (LESSP I P)
(NOT (DIVIDES P A)))))
(NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P))))
T)).
This simplifies, expanding the definitions of NOT, OR, DIVIDES, AND,
IMPLIES, REFLECT, and LESSP, to four new formulas:
Case 1.4.
(IMPLIES
(AND (NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(EQUAL (REMAINDER A (SUB1 P)) 0)
(PRIME P)
(LESSP (SUB1 J) (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))),
which again simplifies, using linear arithmetic, to two new
conjectures:
Case 1.4.2.
(IMPLIES
(AND (LESSP P (REMAINDER (TIMES A I) P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(EQUAL (REMAINDER A (SUB1 P)) 0)
(PRIME P)
(LESSP (SUB1 J) (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))),
which we again simplify, using linear arithmetic and applying
LESSP-REMAINDER-DIVISOR, to:
T.
Case 1.4.1.
(IMPLIES
(AND (LESSP P (REMAINDER (TIMES A J) P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(EQUAL (REMAINDER A (SUB1 P)) 0)
(PRIME P)
(LESSP (SUB1 J) (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
But this again simplifies, using linear arithmetic and
rewriting with LESSP-REMAINDER-DIVISOR, to:
T.
Case 1.3.
(IMPLIES
(AND (NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (PRIME (SUB1 P)))
(PRIME P)
(LESSP (SUB1 J) (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
This simplifies again, using linear arithmetic, to the following
two new conjectures:
Case 1.3.2.
(IMPLIES
(AND (LESSP P (REMAINDER (TIMES A I) P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (PRIME (SUB1 P)))
(PRIME P)
(LESSP (SUB1 J) (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))),
which again simplifies, using linear arithmetic and rewriting
with LESSP-REMAINDER-DIVISOR, to:
T.
Case 1.3.1.
(IMPLIES
(AND (LESSP P (REMAINDER (TIMES A J) P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (PRIME (SUB1 P)))
(PRIME P)
(LESSP (SUB1 J) (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))),
which again simplifies, using linear arithmetic and rewriting
with LESSP-REMAINDER-DIVISOR, to:
T.
Case 1.2.
(IMPLIES
(AND (NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(EQUAL (REMAINDER (TIMES A (SUB1 I))
(SUB1 P))
(REMAINDER (TIMES A (SUB1 J))
(SUB1 P)))
(PRIME P)
(LESSP (SUB1 J) (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))),
which we again simplify, using linear arithmetic, to the
following two new formulas:
Case 1.2.2.
(IMPLIES
(AND (LESSP P (REMAINDER (TIMES A I) P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(EQUAL (REMAINDER (TIMES A (SUB1 I))
(SUB1 P))
(REMAINDER (TIMES A (SUB1 J))
(SUB1 P)))
(PRIME P)
(LESSP (SUB1 J) (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
But this simplifies again, using linear arithmetic and
rewriting with the lemma LESSP-REMAINDER-DIVISOR, to:
T.
Case 1.2.1.
(IMPLIES
(AND (LESSP P (REMAINDER (TIMES A J) P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(EQUAL (REMAINDER (TIMES A (SUB1 I))
(SUB1 P))
(REMAINDER (TIMES A (SUB1 J))
(SUB1 P)))
(PRIME P)
(LESSP (SUB1 J) (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
However this again simplifies, using linear arithmetic and
applying the lemma LESSP-REMAINDER-DIVISOR, to:
T.
Case 1.1.
(IMPLIES
(AND (NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL (DIFFERENCE (SUB1 P)
(REMAINDER (TIMES A (SUB1 I))
(SUB1 P)))
(DIFFERENCE (SUB1 P)
(REMAINDER (TIMES A (SUB1 J))
(SUB1 P)))))
(PRIME P)
(LESSP (SUB1 J) (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
This again simplifies, using linear arithmetic, to two new goals:
Case 1.1.2.
(IMPLIES
(AND
(LESSP P (REMAINDER (TIMES A I) P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL (DIFFERENCE (SUB1 P)
(REMAINDER (TIMES A (SUB1 I))
(SUB1 P)))
(DIFFERENCE (SUB1 P)
(REMAINDER (TIMES A (SUB1 J))
(SUB1 P)))))
(PRIME P)
(LESSP (SUB1 J) (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
However this again simplifies, using linear arithmetic and
applying LESSP-REMAINDER-DIVISOR, to:
T.
Case 1.1.1.
(IMPLIES
(AND
(LESSP P (REMAINDER (TIMES A J) P))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL (DIFFERENCE (SUB1 P)
(REMAINDER (TIMES A (SUB1 I))
(SUB1 P)))
(DIFFERENCE (SUB1 P)
(REMAINDER (TIMES A (SUB1 J))
(SUB1 P)))))
(PRIME P)
(LESSP (SUB1 J) (SUB1 I))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (SUB1 I) (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
However this again simplifies, using linear arithmetic and
rewriting with LESSP-REMAINDER-DIVISOR, to:
T.
That finishes the proof of *1. Q.E.D.
[ 19.905013 2.20996094 ]
ALL-DISTINCT-REFLECT-LIST-3
(PROVE-LEMMA PLUS-MOD-1
(REWRITE)
(EQUAL (REMAINDER (PLUS (REMAINDER X P) Y) P)
(REMAINDER (PLUS X Y) P))
((USE (REMAINDER-QUOTIENT (Y P))
(REMAINDER-PLUS-TIMES-1 (J P)
(X (PLUS (REMAINDER X P) Y))
(I (QUOTIENT X P))))
(DISABLE REMAINDER-QUOTIENT REMAINDER-QUOTIENT-ELIM
REMAINDER-PLUS-TIMES-1)))
This formula can be simplified, using the abbreviations AND and
ASSOCIATIVITY-OF-PLUS, to:
(IMPLIES
(AND (EQUAL (PLUS (REMAINDER X P)
(TIMES P (QUOTIENT X P)))
(FIX X))
(EQUAL (REMAINDER (PLUS (REMAINDER X P)
(PLUS Y (TIMES (QUOTIENT X P) P)))
P)
(REMAINDER (PLUS (REMAINDER X P) Y)
P)))
(EQUAL (REMAINDER (PLUS (REMAINDER X P) Y) P)
(REMAINDER (PLUS X Y) P))).
This simplifies, appealing to the lemmas PLUS-RIGHT-ID2,
REMAINDER-0-CROCK, COMMUTATIVITY-OF-TIMES, COMMUTATIVITY-OF-PLUS, and
COMMUTATIVITY2-OF-PLUS, and expanding FIX, LESSP, REMAINDER, QUOTIENT,
EQUAL, PLUS, and NUMBERP, to:
T.
Q.E.D.
[ 61.4410157 0.106966146 ]
PLUS-MOD-1
(PROVE-LEMMA PLUS-MOD-2
(REWRITE)
(EQUAL (REMAINDER (PLUS Y (REMAINDER X P)) P)
(REMAINDER (PLUS X Y) P))
((USE (PLUS-MOD-1))
(DISABLE PLUS-MOD-1)))
This conjecture simplifies, applying COMMUTATIVITY-OF-PLUS, to:
T.
Q.E.D.
[ 11.005013 0.0129557292 ]
PLUS-MOD-2
(PROVE-LEMMA ALL-DISTINCT-REFLECT-LIST-4 NIL
(IMPLIES (AND (EQUAL X (DIFFERENCE P Y))
(LESSP Y P))
(EQUAL (REMAINDER (PLUS X Y) P) 0.)))
This formula simplifies, using linear arithmetic, applying
COMMUTATIVITY-OF-PLUS, REMAINDER-0-CROCK, and DIFFERENCE-0, and
opening up REMAINDER, to the following four new goals:
Case 4. (IMPLIES (AND (LESSP Y P) (LESSP P Y))
(EQUAL (REMAINDER (PLUS (DIFFERENCE P Y) Y)
P)
0)),
which we again simplify, using linear arithmetic, to:
T.
Case 3. (IMPLIES (AND (LESSP Y P)
( LEQ Y P)
(NOT (NUMBERP P)))
(EQUAL (PLUS Y (DIFFERENCE P Y)) 0)).
However this again simplifies, opening up the definition of LESSP,
to:
T.
Case 2. (IMPLIES (AND (LESSP Y P)
( LEQ Y P)
(EQUAL P 0))
(EQUAL (PLUS Y (DIFFERENCE P Y)) 0)).
However this simplifies again, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (LESSP Y P)
( LEQ Y P)
(LESSP (PLUS Y (DIFFERENCE P Y)) P))
(EQUAL (PLUS Y (DIFFERENCE P Y)) 0)).
This simplifies again, using linear arithmetic, to:
T.
Q.E.D.
[ 2.04602864 1.20501302 ]
ALL-DISTINCT-REFLECT-LIST-4
(MAKE-LIB G-TEMP)
[ 62.3910155 0.0 ]
(#FILE-OUT-|DSK:G-TEMP.LIB[BM,CLT]|-71766 #FILE-OUT-|DSK:G-TEMP.LIS[BM,CLT]|-71762)
(NOTE-LIB G-TEMP.LIB G-TEMP.LISP)
[ 35.364974 0.0 ]
#FILE-IN-|DSK:G-TEMP.LIB[BM,CLT]|-71746
(PROVE-LEMMA ALL-DISTINCT-REFLECT-LIST-5 NIL
(IMPLIES (AND (EQUAL (REMAINDER (TIMES A I) P)
(DIFFERENCE P
(REMAINDER (TIMES A J) P)))
(NOT (ZEROP P)))
(EQUAL (REMAINDER (TIMES A (PLUS I J)) P)
0.))
((USE (ALL-DISTINCT-REFLECT-LIST-4 (X (REMAINDER (TIMES A I) P))
(Y (REMAINDER (TIMES A J) P))))))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
AND, IMPLIES, and PLUS-MOD-2, to the new formula:
(IMPLIES
(AND
(IMPLIES (AND (EQUAL (REMAINDER (TIMES A I) P)
(DIFFERENCE P
(REMAINDER (TIMES A J) P)))
(LESSP (REMAINDER (TIMES A J) P) P))
(EQUAL (REMAINDER (PLUS (TIMES A I) (TIMES A J))
P)
0))
(EQUAL (REMAINDER (TIMES A I) P)
(DIFFERENCE P
(REMAINDER (TIMES A J) P)))
(NOT (EQUAL P 0))
(NUMBERP P))
(EQUAL (REMAINDER (TIMES A (PLUS I J)) P)
0)).
This simplifies, applying LESSP-REMAINDER2 and
DISTRIBUTIVITY-OF-TIMES-OVER-PLUS, and expanding AND, IMPLIES, and
EQUAL, to:
T.
Q.E.D.
[ 55.723047 0.182877604 ]
ALL-DISTINCT-REFLECT-LIST-5
(PROVE-LEMMA ALL-DISTINCT-REFLECT-LIST-6 NIL
(IMPLIES (AND (LEQ I (QUOTIENT P 2.))
(LESSP J I))
(AND (NOT (ZEROP (PLUS I J)))
(LESSP (PLUS I J) P))))
This conjecture simplifies, applying PLUS-EQUAL-0, and unfolding the
functions ZEROP, NOT, and AND, to five new conjectures:
Case 5. (IMPLIES (AND ( LEQ I (QUOTIENT P 2))
(LESSP J I)
(EQUAL I 0))
(NOT (EQUAL J 0))).
However this simplifies again, using linear arithmetic, to:
T.
Case 4. (IMPLIES (AND ( LEQ I (QUOTIENT P 2))
(LESSP J I)
(NOT (NUMBERP I)))
(NOT (EQUAL J 0))).
This simplifies again, expanding the function LESSP, to:
T.
Case 3. (IMPLIES (AND ( LEQ I (QUOTIENT P 2))
(LESSP J I)
(EQUAL I 0))
(NUMBERP J)).
However this simplifies again, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND ( LEQ I (QUOTIENT P 2))
(LESSP J I)
(NOT (NUMBERP I)))
(NUMBERP J)).
However this again simplifies, opening up the function LESSP, to:
T.
Case 1. (IMPLIES (AND ( LEQ I (QUOTIENT P 2))
(LESSP J I))
(LESSP (PLUS I J) P)).
Applying the lemma REMAINDER-QUOTIENT-ELIM, replace P by
(PLUS Z (TIMES 2 X)) to eliminate (QUOTIENT P 2) and
(REMAINDER P 2). We employ LESSP-REMAINDER2, the type restriction
lemma noted when QUOTIENT was introduced, and the type restriction
lemma noted when REMAINDER was introduced to constrain the new
variables. This produces four new formulas:
Case 1.4.
(IMPLIES (AND (NOT (NUMBERP P))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(LESSP (PLUS I J) P)),
which further simplifies, expanding the definitions of LESSP,
NUMBERP, EQUAL, and QUOTIENT, to:
T.
Case 1.3.
(IMPLIES (AND (EQUAL 2 0)
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(LESSP (PLUS I J) P)),
which we further simplify, using linear arithmetic, to:
T.
Case 1.2.
(IMPLIES (AND (NOT (NUMBERP 2))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(LESSP (PLUS I J) P)),
which further simplifies, clearly, to:
T.
Case 1.1.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Z)
(EQUAL (LESSP Z 2) (NOT (ZEROP 2)))
(NOT (EQUAL 2 0))
( LEQ I X)
(LESSP J I))
(LESSP (PLUS I J)
(PLUS Z (TIMES 2 X)))).
However this simplifies further, using linear arithmetic, to:
T.
Q.E.D.
[ 5.55885416 0.378059898 ]
ALL-DISTINCT-REFLECT-LIST-6
(PROVE-LEMMA ALL-DISTINCT-REFLECT-LIST-7
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P A))
(LEQ I (QUOTIENT P 2.))
(LESSP J I))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REFLECT (REMAINDER (TIMES A J) P)
P))))
((USE (ALL-DISTINCT-REFLECT-LIST-5)
(ALL-DISTINCT-REFLECT-LIST-6))
(HANDS-OFF DIFFERENCE TIMES PLUS)
(DISABLE PRIME1)))
This conjecture can be simplified, using the abbreviations NOT, PRIME,
IMPLIES, AND, REFLECT, and DIVIDES, to:
(IMPLIES
(AND
(IMPLIES (AND (EQUAL (REMAINDER (TIMES A I) P)
(DIFFERENCE P
(REMAINDER (TIMES A J) P)))
(NOT (ZEROP P)))
(EQUAL (REMAINDER (TIMES A (PLUS I J)) P)
0))
(IMPLIES (AND (IF (LESSP (QUOTIENT P 2) I) F T)
(LESSP J I))
(AND (NOT (ZEROP (PLUS I J)))
(LESSP (PLUS I J) P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
This simplifies, applying PRIME-KEY-REWRITE and PLUS-EQUAL-0, and
expanding the definitions of ZEROP, NOT, AND, PRIME, IMPLIES, LESSP,
and EQUAL, to:
(IMPLIES (AND (EQUAL (REMAINDER (PLUS I J) P) 0)
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP (PLUS I J) P)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(DIFFERENCE P
(REMAINDER (TIMES A J) P))))).
But this simplifies again, rewriting with PLUS-EQUAL-0, and unfolding
the definition of REMAINDER, to:
T.
Q.E.D.
[ 78.597917 0.230078125 ]
ALL-DISTINCT-REFLECT-LIST-7
(PROVE-LEMMA ALL-DISTINCT-REFLECT-LIST-8
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P A))
(LEQ I (QUOTIENT P 2.))
(LESSP J I))
(NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REMAINDER (TIMES A J) P))))
((USE (ALL-DISTINCT-REFLECT-LIST-5 (J I)
(I J))
(ALL-DISTINCT-REFLECT-LIST-6))
(HANDS-OFF TIMES DIFFERENCE)
(DISABLE PRIME1)))
This conjecture can be simplified, using the abbreviations NOT, PRIME,
IMPLIES, AND, REFLECT, and DIVIDES, to:
(IMPLIES
(AND
(IMPLIES (AND (EQUAL (REMAINDER (TIMES A J) P)
(DIFFERENCE P
(REMAINDER (TIMES A I) P)))
(NOT (ZEROP P)))
(EQUAL (REMAINDER (TIMES A (PLUS J I)) P)
0))
(IMPLIES (AND (IF (LESSP (QUOTIENT P 2) I) F T)
(LESSP J I))
(AND (NOT (ZEROP (PLUS I J)))
(LESSP (PLUS I J) P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(REMAINDER (TIMES A J) P)))).
This simplifies, applying COMMUTATIVITY-OF-PLUS, PRIME-KEY-REWRITE,
and PLUS-EQUAL-0, and expanding the definitions of ZEROP, NOT, AND,
PRIME, IMPLIES, LESSP, and EQUAL, to:
(IMPLIES (AND (EQUAL (REMAINDER (PLUS I J) P) 0)
(NOT (EQUAL I 0))
(NUMBERP I)
(LESSP (PLUS I J) P)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (EQUAL (DIFFERENCE P
(REMAINDER (TIMES A I) P))
(REMAINDER (TIMES A J) P)))).
But this simplifies again, rewriting with PLUS-EQUAL-0, and unfolding
the definition of REMAINDER, to:
T.
Q.E.D.
[ 52.825 0.213020833 ]
ALL-DISTINCT-REFLECT-LIST-8
(PROVE-LEMMA ALL-DISTINCT-REFLECT-LIST-9
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES 2. P))
(NOT (DIVIDES P A))
(LEQ I (QUOTIENT P 2.))
(LESSP J I))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST J A P))))
((USE (ALL-DISTINCT-REFLECT-LIST-1))
(INDUCT (REFLECT-LIST J A P))
(HANDS-OFF QUOTIENT REMAINDER TIMES)
(DISABLE PRIME1 REFLECT ALL-DISTINCT-REFLECT-LIST-1)))
This formula can be simplified, using the abbreviation DIVIDES, to
the new conjecture:
(IMPLIES
(IMPLIES (AND (PRIME P)
(AND (LESSP J I)
(AND (LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))))
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P))))
(AND
(OR
(NOT (ZEROP J))
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(AND (IF (LESSP (QUOTIENT P 2) I) F T)
(LESSP J I)))))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST J A P)))))
(AND
(OR
(ZEROP J)
(OR
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2))
(OR
(NOT
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(AND (IF (LESSP (QUOTIENT P 2) I) F T)
(LESSP (SUB1 J) I)))))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 J) A P)))))
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(AND (IF (LESSP (QUOTIENT P 2) I) F T)
(LESSP J I)))))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST J A P)))))))
(OR
(ZEROP J)
(OR
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A J) P))
(OR
(NOT
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(AND (IF (LESSP (QUOTIENT P 2) I) F T)
(LESSP (SUB1 J) I)))))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 J) A P)))))
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(AND (IF (LESSP (QUOTIENT P 2) I) F T)
(LESSP J I)))))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST J A P)))))))))).
This simplifies, unfolding the functions PRIME, NOT, AND, IMPLIES,
ZEROP, REMAINDER, EQUAL, QUOTIENT, LESSP, REFLECT-LIST, and OR, to 12
new conjectures:
Case 12.(IMPLIES (AND ( LEQ P I)
(NOT (NUMBERP J))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
NIL))).
However this again simplifies, using linear arithmetic, applying
the lemma LESSP-REMAINDER-DIVISOR, and unfolding EQUAL, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
( LEQ P I)
(NOT (NUMBERP J))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
NIL))).
This simplifies again, expanding the functions EQUAL, LESSP, LISTP,
and MEMBER, to:
T.
Case 11.(IMPLIES (AND ( LEQ P I)
(EQUAL J 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
NIL))).
However this simplifies again, using linear arithmetic, rewriting
with LESSP-REMAINDER-DIVISOR, and unfolding the function EQUAL, to
the formula:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
( LEQ P I)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP 0 I))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
NIL))).
However this simplifies again, unfolding the functions EQUAL, LESSP,
LISTP, and MEMBER, to:
T.
Case 10.(IMPLIES
(AND ( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
( LEQ I (SUB1 J))
(LESSP J I)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A J) P)))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(CONS (REFLECT (REMAINDER (TIMES A J) P) P)
(REFLECT-LIST (SUB1 J) A P))))),
which we again simplify, using linear arithmetic, to:
T.
Case 9. (IMPLIES
(AND ( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A J) P)))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(CONS (REFLECT (REMAINDER (TIMES A J) P) P)
(REFLECT-LIST (SUB1 J) A P))))).
This simplifies again, using linear arithmetic and rewriting with
the lemma LESSP-REMAINDER-DIVISOR, to:
T.
Case 8. (IMPLIES (AND ( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
( LEQ I (SUB1 J))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(CONS (REMAINDER (TIMES A J) P)
(REFLECT-LIST (SUB1 J) A P))))),
which again simplifies, using linear arithmetic, to:
T.
Case 7. (IMPLIES (AND ( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(CONS (REMAINDER (TIMES A J) P)
(REFLECT-LIST (SUB1 J) A P))))),
which again simplifies, using linear arithmetic, rewriting with
LESSP-REMAINDER-DIVISOR, and expanding the definition of EQUAL, to
the new conjecture:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(CONS (REMAINDER (TIMES A J) P)
(REFLECT-LIST (SUB1 J) A P))))),
which we again simplify, rewriting with CDR-CONS,
THM-55-SPECIALIZED-TO-PRIMES, and CAR-CONS, and expanding the
functions EQUAL, PRIME, and MEMBER, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (EQUAL (REMAINDER I P)
(REMAINDER J P)))).
Applying the lemma REMAINDER-QUOTIENT-ELIM, we now replace P by
(PLUS X (TIMES 2 Z)) to eliminate (REMAINDER P 2) and
(QUOTIENT P 2). We use LESSP-REMAINDER2, the type restriction
lemma noted when REMAINDER was introduced, and the type restriction
lemma noted when QUOTIENT was introduced to restrict the new
variables. We would thus like to prove three new goals:
Case 7.3.
(IMPLIES (AND (EQUAL 2 0)
(EQUAL (REMAINDER P 2) 1)
( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (EQUAL (REMAINDER I P)
(REMAINDER J P)))),
which further simplifies, using linear arithmetic, to:
T.
Case 7.2.
(IMPLIES (AND (NOT (NUMBERP 2))
(EQUAL (REMAINDER P 2) 1)
( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (EQUAL (REMAINDER I P)
(REMAINDER J P)))),
which further simplifies, clearly, to:
T.
Case 7.1.
(IMPLIES
(AND (NUMBERP X)
(EQUAL (LESSP X 2) (NOT (ZEROP 2)))
(NUMBERP Z)
(NOT (EQUAL 2 0))
(EQUAL X 1)
( LEQ (PLUS X (TIMES 2 Z)) I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL (PLUS X (TIMES 2 Z)) 0))
(NOT (EQUAL (PLUS X (TIMES 2 Z)) 1))
(PRIME1 (PLUS X (TIMES 2 Z))
(SUB1 (PLUS X (TIMES 2 Z))))
(NOT (EQUAL (REMAINDER A (PLUS X (TIMES 2 Z)))
0))
( LEQ I Z)
(NOT (MEMBER (REMAINDER (TIMES A I)
(PLUS X (TIMES 2 Z)))
(REFLECT-LIST (SUB1 J)
A
(PLUS X (TIMES 2 Z)))))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J)
(PLUS X (TIMES 2 Z)))
Z))
(NOT (EQUAL (REMAINDER I (PLUS X (TIMES 2 Z)))
(REMAINDER J
(PLUS X (TIMES 2 Z)))))).
But this further simplifies, using linear arithmetic, to:
T.
Case 6. (IMPLIES (AND (NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P)))
(NOT (NUMBERP J))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
NIL))),
which we again simplify, using linear arithmetic, applying the
lemma LESSP-REMAINDER-DIVISOR, and opening up the definition of
EQUAL, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P)))
(NOT (NUMBERP J))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
NIL))),
which we again simplify, appealing to the lemma
THM-55-SPECIALIZED-TO-PRIMES, and expanding the functions PRIME,
EQUAL, LESSP, LISTP, and MEMBER, to:
T.
Case 5. (IMPLIES (AND (NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P)))
(EQUAL J 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
NIL))),
which we again simplify, using linear arithmetic, rewriting with
LESSP-REMAINDER-DIVISOR, and opening up the function EQUAL, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A 0) P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP 0 I))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
NIL))).
This simplifies again, applying THM-55-SPECIALIZED-TO-PRIMES, and
opening up PRIME, EQUAL, LESSP, LISTP, and MEMBER, to:
T.
Case 4. (IMPLIES
(AND (NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P)))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
( LEQ I (SUB1 J))
(LESSP J I)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A J) P)))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(CONS (REFLECT (REMAINDER (TIMES A J) P) P)
(REFLECT-LIST (SUB1 J) A P))))).
This again simplifies, using linear arithmetic, to:
T.
Case 3. (IMPLIES
(AND (NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P)))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A J) P)))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(CONS (REFLECT (REMAINDER (TIMES A J) P) P)
(REFLECT-LIST (SUB1 J) A P))))).
This simplifies again, using linear arithmetic, rewriting with
LESSP-REMAINDER-DIVISOR, and expanding the function EQUAL, to:
(IMPLIES
(AND (EQUAL (REMAINDER P 2) 1)
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P)))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A J) P)))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(CONS (REFLECT (REMAINDER (TIMES A J) P) P)
(REFLECT-LIST (SUB1 J) A P))))),
which we again simplify, using linear arithmetic, applying
THM-55-SPECIALIZED-TO-PRIMES, CDR-CONS, ALL-DISTINCT-REFLECT-LIST-7,
and CAR-CONS, and expanding the functions PRIME, EQUAL, DIVIDES,
and MEMBER, to:
T.
Case 2. (IMPLIES (AND (NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P)))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
( LEQ I (SUB1 J))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(CONS (REMAINDER (TIMES A J) P)
(REFLECT-LIST (SUB1 J) A P))))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P)))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(CONS (REMAINDER (TIMES A J) P)
(REFLECT-LIST (SUB1 J) A P))))),
which again simplifies, using linear arithmetic, applying
LESSP-REMAINDER-DIVISOR, and unfolding EQUAL, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(NOT (EQUAL (REMAINDER (TIMES A I) P)
(REMAINDER (TIMES A J) P)))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(CONS (REMAINDER (TIMES A J) P)
(REFLECT-LIST (SUB1 J) A P))))),
which again simplifies, rewriting with THM-55-SPECIALIZED-TO-PRIMES,
CDR-CONS, and CAR-CONS, and expanding the functions PRIME, EQUAL,
and MEMBER, to:
T.
Q.E.D.
[ 102.563412 1.80039063 ]
ALL-DISTINCT-REFLECT-LIST-9
(PROVE-LEMMA ALL-DISTINCT-REFLECT-LIST-10
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES 2. P))
(NOT (DIVIDES P A))
(LEQ I (QUOTIENT P 2.))
(LESSP J I))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST J A P))))
((USE (ALL-DISTINCT-REFLECT-LIST-3))
(INDUCT (REFLECT-LIST J A P))
(HANDS-OFF QUOTIENT REMAINDER TIMES)
(DISABLE PRIME1 REFLECT ALL-DISTINCT-REFLECT-LIST-3)))
This conjecture can be simplified, using the abbreviation DIVIDES, to:
(IMPLIES
(IMPLIES (AND (PRIME P)
(AND (LESSP J I)
(AND (LESSP I P)
(NOT (EQUAL (REMAINDER A P) 0)))))
(NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P))))
(AND
(OR
(NOT (ZEROP J))
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(AND (IF (LESSP (QUOTIENT P 2) I) F T)
(LESSP J I)))))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST J A P)))))
(AND
(OR
(ZEROP J)
(OR
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2))
(OR
(NOT
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(AND (IF (LESSP (QUOTIENT P 2) I) F T)
(LESSP (SUB1 J) I)))))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 J) A P)))))
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(AND (IF (LESSP (QUOTIENT P 2) I) F T)
(LESSP J I)))))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST J A P)))))))
(OR
(ZEROP J)
(OR
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A J) P))
(OR
(NOT
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(AND (IF (LESSP (QUOTIENT P 2) I) F T)
(LESSP (SUB1 J) I)))))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 J) A P)))))
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER P 2) 0))
(AND (NOT (EQUAL (REMAINDER A P) 0))
(AND (IF (LESSP (QUOTIENT P 2) I) F T)
(LESSP J I)))))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST J A P)))))))))).
This simplifies, expanding PRIME, NOT, AND, IMPLIES, ZEROP, REMAINDER,
EQUAL, QUOTIENT, LESSP, REFLECT-LIST, and OR, to the following 12 new
conjectures:
Case 12.(IMPLIES (AND ( LEQ P I)
(NOT (NUMBERP J))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
NIL))).
This simplifies again, using linear arithmetic, applying
LESSP-REMAINDER-DIVISOR, and opening up EQUAL, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
( LEQ P I)
(NOT (NUMBERP J))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
NIL))),
which again simplifies, unfolding the functions EQUAL, LESSP, LISTP,
and MEMBER, to:
T.
Case 11.(IMPLIES (AND ( LEQ P I)
(EQUAL J 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
NIL))).
But this simplifies again, using linear arithmetic, applying
LESSP-REMAINDER-DIVISOR, and unfolding the definition of EQUAL, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
( LEQ P I)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP 0 I))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
NIL))),
which we again simplify, expanding the definitions of EQUAL, LESSP,
LISTP, and MEMBER, to:
T.
Case 10.(IMPLIES
(AND ( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
( LEQ I (SUB1 J))
(LESSP J I)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A J) P)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(CONS (REFLECT (REMAINDER (TIMES A J) P) P)
(REFLECT-LIST (SUB1 J) A P))))),
which we again simplify, using linear arithmetic, to:
T.
Case 9. (IMPLIES
(AND ( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A J) P)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(CONS (REFLECT (REMAINDER (TIMES A J) P) P)
(REFLECT-LIST (SUB1 J) A P))))),
which we again simplify, using linear arithmetic and rewriting with
LESSP-REMAINDER-DIVISOR, to:
T.
Case 8. (IMPLIES (AND ( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
( LEQ I (SUB1 J))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(CONS (REMAINDER (TIMES A J) P)
(REFLECT-LIST (SUB1 J) A P))))).
This again simplifies, using linear arithmetic, to:
T.
Case 7. (IMPLIES
(AND ( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(CONS (REMAINDER (TIMES A J) P)
(REFLECT-LIST (SUB1 J) A P))))),
which we again simplify, using linear arithmetic, applying
LESSP-REMAINDER-DIVISOR, and opening up EQUAL, to:
(IMPLIES
(AND (EQUAL (REMAINDER P 2) 1)
( LEQ P I)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(CONS (REMAINDER (TIMES A J) P)
(REFLECT-LIST (SUB1 J) A P))))),
which we again simplify, using linear arithmetic, rewriting with
CDR-CONS, ALL-DISTINCT-REFLECT-LIST-8, and CAR-CONS, and expanding
the functions EQUAL, PRIME, DIVIDES, and MEMBER, to:
T.
Case 6. (IMPLIES
(AND (NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P)))
(NOT (NUMBERP J))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
NIL))).
However this simplifies again, using linear arithmetic, rewriting
with the lemma LESSP-REMAINDER-DIVISOR, and expanding the
definition of EQUAL, to the new conjecture:
(IMPLIES
(AND (EQUAL (REMAINDER P 2) 1)
(NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P)))
(NOT (NUMBERP J))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
NIL))),
which again simplifies, expanding the functions EQUAL, LESSP, LISTP,
and MEMBER, to:
T.
Case 5. (IMPLIES
(AND (NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P)))
(EQUAL J 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP J I))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
NIL))),
which again simplifies, using linear arithmetic, applying
LESSP-REMAINDER-DIVISOR, and opening up the function EQUAL, to:
(IMPLIES
(AND (EQUAL (REMAINDER P 2) 1)
(NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A 0) P)
P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(LESSP 0 I))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
NIL))),
which we again simplify, expanding the functions EQUAL, LESSP,
LISTP, and MEMBER, to:
T.
Case 4. (IMPLIES
(AND (NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P)))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
( LEQ I (SUB1 J))
(LESSP J I)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A J) P)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(CONS (REFLECT (REMAINDER (TIMES A J) P) P)
(REFLECT-LIST (SUB1 J) A P))))),
which we again simplify, using linear arithmetic, to:
T.
Case 3. (IMPLIES
(AND (NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P)))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A J) P)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(CONS (REFLECT (REMAINDER (TIMES A J) P) P)
(REFLECT-LIST (SUB1 J) A P))))),
which we again simplify, using linear arithmetic, applying the
lemma LESSP-REMAINDER-DIVISOR, and expanding EQUAL, to the formula:
(IMPLIES
(AND (EQUAL (REMAINDER P 2) 1)
(NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P)))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A J) P)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(CONS (REFLECT (REMAINDER (TIMES A J) P) P)
(REFLECT-LIST (SUB1 J) A P))))).
This simplifies again, applying CDR-CONS and CAR-CONS, and opening
up EQUAL and MEMBER, to:
T.
Case 2. (IMPLIES
(AND (NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P)))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
( LEQ I (SUB1 J))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(CONS (REMAINDER (TIMES A J) P)
(REFLECT-LIST (SUB1 J) A P))))).
This again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES
(AND (NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P)))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(CONS (REMAINDER (TIMES A J) P)
(REFLECT-LIST (SUB1 J) A P))))).
This simplifies again, using linear arithmetic, rewriting with
LESSP-REMAINDER-DIVISOR, and expanding the function EQUAL, to:
(IMPLIES
(AND (EQUAL (REMAINDER P 2) 1)
(NOT (EQUAL (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT (REMAINDER (TIMES A J) P)
P)))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0))
( LEQ I (QUOTIENT P 2))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 J) A P)))
(LESSP J I)
( LEQ
(REMAINDER (TIMES A J) P)
(QUOTIENT P 2)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(CONS (REMAINDER (TIMES A J) P)
(REFLECT-LIST (SUB1 J) A P))))),
which we again simplify, using linear arithmetic, applying CDR-CONS,
ALL-DISTINCT-REFLECT-LIST-8, and CAR-CONS, and expanding the
functions EQUAL, PRIME, DIVIDES, and MEMBER, to:
T.
Q.E.D.
[ 100.974218 1.40768228 ]
ALL-DISTINCT-REFLECT-LIST-10
(PROVE-LEMMA ALL-DISTINCT-REFLECT-LIST
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES 2. P))
(NOT (DIVIDES P A))
(LEQ I (QUOTIENT P 2.)))
(ALL-DISTINCT (REFLECT-LIST I A P)))
((USE (ALL-DISTINCT-REFLECT-LIST-9 (J (SUB1 I)))
(ALL-DISTINCT-REFLECT-LIST-10 (J (SUB1 I))))
(INDUCT (REFLECT-LIST I A P))
(HANDS-OFF QUOTIENT REMAINDER TIMES)
(DISABLE ALL-DISTINCT-REFLECT-LIST-9
ALL-DISTINCT-REFLECT-LIST-10 PRIME DIVIDES
REFLECT)))
This formula simplifies, opening up the definitions of NOT, AND,
IMPLIES, ZEROP, REFLECT-LIST, and OR, to the following 18 new
formulas:
Case 18.(IMPLIES (AND ( LEQ I (SUB1 I))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
(LESSP (QUOTIENT P 2) (SUB1 I))
( LEQ I (QUOTIENT P 2))
( LEQ
(REMAINDER (TIMES A I) P)
(QUOTIENT P 2)))
(ALL-DISTINCT (CONS (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))).
But this simplifies again, using linear arithmetic, to:
T.
Case 17.(IMPLIES (AND ( LEQ I (SUB1 I))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
(ALL-DISTINCT (REFLECT-LIST (SUB1 I) A P))
( LEQ I (QUOTIENT P 2))
( LEQ
(REMAINDER (TIMES A I) P)
(QUOTIENT P 2)))
(ALL-DISTINCT (CONS (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))),
which again simplifies, using linear arithmetic, to:
T.
Case 16.(IMPLIES
(AND ( LEQ I (SUB1 I))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
(ALL-DISTINCT (REFLECT-LIST (SUB1 I) A P))
( LEQ I (QUOTIENT P 2))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A I) P)))
(ALL-DISTINCT (CONS (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 I) A P)))),
which again simplifies, using linear arithmetic, to:
T.
Case 15.(IMPLIES
(AND ( LEQ I (SUB1 I))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
(LESSP (QUOTIENT P 2) (SUB1 I))
( LEQ I (QUOTIENT P 2))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A I) P)))
(ALL-DISTINCT (CONS (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 I) A P)))),
which we again simplify, using linear arithmetic, to:
T.
Case 14.(IMPLIES (AND ( LEQ I (SUB1 I))
(EQUAL I 0)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
( LEQ I (QUOTIENT P 2)))
(ALL-DISTINCT NIL)).
However this simplifies again, opening up the definitions of SUB1,
LESSP, EQUAL, and ALL-DISTINCT, to:
T.
Case 13.(IMPLIES (AND ( LEQ I (SUB1 I))
(NOT (NUMBERP I))
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
( LEQ I (QUOTIENT P 2)))
(ALL-DISTINCT NIL)),
which we again simplify, using linear arithmetic, to the formula:
(IMPLIES (AND (LESSP I 1)
( LEQ I (SUB1 I))
(NOT (NUMBERP I))
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
( LEQ I (QUOTIENT P 2)))
(ALL-DISTINCT NIL)),
which again simplifies, rewriting with SUB1-NNUMBERP, and opening
up the functions NUMBERP, EQUAL, LESSP, and ALL-DISTINCT, to:
T.
Case 12.(IMPLIES (AND (NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
( LEQ I (SUB1 I))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
(LESSP (QUOTIENT P 2) (SUB1 I))
( LEQ I (QUOTIENT P 2))
( LEQ
(REMAINDER (TIMES A I) P)
(QUOTIENT P 2)))
(ALL-DISTINCT (CONS (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))).
However this again simplifies, using linear arithmetic, to:
T.
Case 11.(IMPLIES (AND (NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
( LEQ I (SUB1 I))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
(ALL-DISTINCT (REFLECT-LIST (SUB1 I) A P))
( LEQ I (QUOTIENT P 2))
( LEQ
(REMAINDER (TIMES A I) P)
(QUOTIENT P 2)))
(ALL-DISTINCT (CONS (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))),
which we again simplify, using linear arithmetic, to:
T.
Case 10.(IMPLIES
(AND (NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
( LEQ I (SUB1 I))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
(ALL-DISTINCT (REFLECT-LIST (SUB1 I) A P))
( LEQ I (QUOTIENT P 2))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A I) P)))
(ALL-DISTINCT (CONS (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 I) A P)))),
which we again simplify, using linear arithmetic, to:
T.
Case 9. (IMPLIES
(AND (NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
( LEQ I (SUB1 I))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
(LESSP (QUOTIENT P 2) (SUB1 I))
( LEQ I (QUOTIENT P 2))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A I) P)))
(ALL-DISTINCT (CONS (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 I) A P)))),
which we again simplify, using linear arithmetic, to:
T.
Case 8. (IMPLIES (AND (NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
( LEQ I (SUB1 I))
(EQUAL I 0)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
( LEQ I (QUOTIENT P 2)))
(ALL-DISTINCT NIL)).
This simplifies again, opening up SUB1, EQUAL, REFLECT-LIST, LISTP,
MEMBER, LESSP, and ALL-DISTINCT, to:
T.
Case 7. (IMPLIES (AND (NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
( LEQ I (SUB1 I))
(NOT (NUMBERP I))
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
( LEQ I (QUOTIENT P 2)))
(ALL-DISTINCT NIL)),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (LESSP I 1)
(NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
( LEQ I (SUB1 I))
(NOT (NUMBERP I))
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
( LEQ I (QUOTIENT P 2)))
(ALL-DISTINCT NIL)).
However this simplifies again, applying SUB1-NNUMBERP, and opening
up NUMBERP, EQUAL, LESSP, REFLECT-LIST, LISTP, MEMBER, and
ALL-DISTINCT, to:
T.
Case 6. (IMPLIES
(AND (NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 I) A P)))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
(LESSP (QUOTIENT P 2) (SUB1 I))
( LEQ I (QUOTIENT P 2))
( LEQ
(REMAINDER (TIMES A I) P)
(QUOTIENT P 2)))
(ALL-DISTINCT (CONS (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))).
But this simplifies again, using linear arithmetic, to:
T.
Case 5. (IMPLIES
(AND (NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 I) A P)))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
(ALL-DISTINCT (REFLECT-LIST (SUB1 I) A P))
( LEQ I (QUOTIENT P 2))
( LEQ
(REMAINDER (TIMES A I) P)
(QUOTIENT P 2)))
(ALL-DISTINCT (CONS (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))).
This simplifies again, applying CDR-CONS and CAR-CONS, and
unfolding ALL-DISTINCT, to:
T.
Case 4. (IMPLIES
(AND (NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 I) A P)))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
(ALL-DISTINCT (REFLECT-LIST (SUB1 I) A P))
( LEQ I (QUOTIENT P 2))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A I) P)))
(ALL-DISTINCT (CONS (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 I) A P)))),
which again simplifies, applying CDR-CONS and CAR-CONS, and
expanding the function ALL-DISTINCT, to:
T.
Case 3. (IMPLIES
(AND (NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 I) A P)))
(NOT (EQUAL I 0))
(NUMBERP I)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
(LESSP (QUOTIENT P 2) (SUB1 I))
( LEQ I (QUOTIENT P 2))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A I) P)))
(ALL-DISTINCT (CONS (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 I) A P)))),
which again simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES
(AND (NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 I) A P)))
(EQUAL I 0)
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
( LEQ I (QUOTIENT P 2)))
(ALL-DISTINCT NIL)),
which again simplifies, expanding the functions SUB1, EQUAL,
REFLECT-LIST, LISTP, MEMBER, LESSP, and ALL-DISTINCT, to:
T.
Case 1. (IMPLIES
(AND (NOT (MEMBER (REMAINDER (TIMES A I) P)
(REFLECT-LIST (SUB1 I) A P)))
(NOT (MEMBER (REFLECT (REMAINDER (TIMES A I) P) P)
(REFLECT-LIST (SUB1 I) A P)))
(NOT (NUMBERP I))
(PRIME P)
(NOT (DIVIDES 2 P))
(NOT (DIVIDES P A))
( LEQ I (QUOTIENT P 2)))
(ALL-DISTINCT NIL)),
which again simplifies, applying SUB1-NNUMBERP, and opening up the
functions EQUAL, REFLECT-LIST, LISTP, MEMBER, LESSP, and
ALL-DISTINCT, to:
T.
Q.E.D.
[ 66.957031 0.98502604 ]
ALL-DISTINCT-REFLECT-LIST
(PROVE-LEMMA TIMES-REFLECT-LIST
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES 2. P))
(NOT (DIVIDES P A)))
(EQUAL (TIMES-LIST (REFLECT-LIST (QUOTIENT P 2.) A P))
(FACT (QUOTIENT P 2.))))
((USE (PIGEON-HOLE-PRINCIPLE (L (REFLECT-LIST (QUOTIENT P 2.) A P))))
(HANDS-OFF QUOTIENT REMAINDER)
(DISABLE PRIME1 REFLECT-LIST TIMES-LIST FACT)))
This formula can be simplified, using the abbreviations NOT, PRIME,
AND, IMPLIES, and DIVIDES, to the new conjecture:
(IMPLIES
(AND
(IMPLIES
(AND
(ALL-NON-ZEROP (REFLECT-LIST (QUOTIENT P 2) A P))
(AND
(ALL-DISTINCT (REFLECT-LIST (QUOTIENT P 2) A P))
(ALL-LESSEQP (REFLECT-LIST (QUOTIENT P 2) A P)
(LENGTH (REFLECT-LIST (QUOTIENT P 2) A P)))))
(PERM (POSITIVES (LENGTH (REFLECT-LIST (QUOTIENT P 2) A P)))
(REFLECT-LIST (QUOTIENT P 2) A P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0)))
(EQUAL (TIMES-LIST (REFLECT-LIST (QUOTIENT P 2) A P))
(FACT (QUOTIENT P 2)))).
This simplifies, using linear arithmetic, rewriting with
LESSP-REMAINDER-DIVISOR, and opening up the definition of EQUAL, to:
(IMPLIES
(AND
(EQUAL (REMAINDER P 2) 1)
(IMPLIES
(AND
(ALL-NON-ZEROP (REFLECT-LIST (QUOTIENT P 2) A P))
(AND
(ALL-DISTINCT (REFLECT-LIST (QUOTIENT P 2) A P))
(ALL-LESSEQP (REFLECT-LIST (QUOTIENT P 2) A P)
(LENGTH (REFLECT-LIST (QUOTIENT P 2) A P)))))
(PERM (POSITIVES (LENGTH (REFLECT-LIST (QUOTIENT P 2) A P)))
(REFLECT-LIST (QUOTIENT P 2) A P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A P) 0)))
(EQUAL (TIMES-LIST (REFLECT-LIST (QUOTIENT P 2) A P))
(FACT (QUOTIENT P 2)))).
However this again simplifies, using linear arithmetic, applying the
lemmas LESSP-QUOTIENT1, ALL-NON-ZEROP-REFLECT-LIST,
ALL-DISTINCT-REFLECT-LIST, LENGTH-REFLECT-LIST,
ALL-LESSEQP-REFLECT-LIST, and TIMES-LIST-EQUAL-FACT, and unfolding
NUMBERP, EQUAL, DIVIDES, PRIME, AND, and IMPLIES, to:
T.
Q.E.D.
[ 8.3199219 0.370052084 ]
TIMES-REFLECT-LIST
(PROVE-LEMMA PLUS-X-X-EVEN
(REWRITE)
(EQUAL (REMAINDER (PLUS X X) 2.) 0.))
This conjecture simplifies, using linear arithmetic, applying
LESSP-REMAINDER-DIVISOR, and unfolding the function EQUAL, to the new
formula:
(IMPLIES (EQUAL (REMAINDER (PLUS X X) 2) 1)
(EQUAL 1 0)).
This again simplifies, expanding the definition of EQUAL, to:
(NOT (EQUAL (REMAINDER (PLUS X X) 2) 1)),
which we will name *1.
Perhaps we can prove it by induction. There is only one
plausible induction. We will induct according to the following
scheme:
(AND (IMPLIES (ZEROP X) (P X))
(IMPLIES (AND (NOT (ZEROP X)) (P (SUB1 X)))
(P X))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the
definition of ZEROP inform us that the measure (COUNT X) decreases
according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme leads to two new goals:
Case 2. (IMPLIES (ZEROP X)
(NOT (EQUAL (REMAINDER (PLUS X X) 2)
1))).
This simplifies, rewriting with PLUS-RIGHT-ID2, and expanding ZEROP,
PLUS, REMAINDER, and EQUAL, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP X))
(NOT (EQUAL (REMAINDER (PLUS (SUB1 X) (SUB1 X))
2)
1)))
(NOT (EQUAL (REMAINDER (PLUS X X) 2)
1))),
which we simplify, rewriting with the lemmas COMMUTATIVITY-OF-PLUS,
DIFFERENCE-2, and SUB1-ADD1, and expanding the definitions of ZEROP,
PLUS, LESSP, SUB1, NUMBERP, EQUAL, and REMAINDER, to:
T.
That finishes the proof of *1. Q.E.D.
[ 104.20664 0.293359376 ]
PLUS-X-X-EVEN
(PROVE-LEMMA RES1-REM-1-1 NIL
(IMPLIES (AND (NOT (ZEROP X))
(NOT (DIVIDES 2. P)))
(NOT (EQUAL (REMAINDER (DIFFERENCE P X) P)
X)))
((USE (DIFFERENCE-ELIM (Y P)))))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
AND, IMPLIES, and DIVIDES, to:
(IMPLIES (AND (IMPLIES (AND (NUMBERP P) ( LEQ X P))
(EQUAL (PLUS X (DIFFERENCE P X)) P))
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL (REMAINDER P 2) 0)))
(NOT (EQUAL (REMAINDER (DIFFERENCE P X) P)
X))).
This simplifies, using linear arithmetic, applying
LESSP-REMAINDER-DIVISOR, and unfolding EQUAL, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(IMPLIES (AND (NUMBERP P) ( LEQ X P))
(EQUAL (PLUS X (DIFFERENCE P X)) P))
(NOT (EQUAL X 0))
(NUMBERP X)
(NOT (EQUAL 1 0)))
(NOT (EQUAL (REMAINDER (DIFFERENCE P X) P)
X))).
This simplifies again, using linear arithmetic, applying DIFFERENCE-0
and REMAINDER-0-CROCK, and opening up NOT, AND, IMPLIES, EQUAL, and
REMAINDER, to four new goals:
Case 4. (IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(LESSP P X)
(NOT (EQUAL X 0)))
(NOT (EQUAL (REMAINDER (DIFFERENCE P X) P)
X))).
However this again simplifies, using linear arithmetic and
appealing to the lemmas DIFFERENCE-0 and REMAINDER-0-CROCK, to:
T.
Case 3. (IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(EQUAL (PLUS X (DIFFERENCE P X)) P)
(NOT (EQUAL X 0))
(LESSP P X))
(NOT (EQUAL (REMAINDER (DIFFERENCE P X) P)
X))),
which again simplifies, using linear arithmetic, rewriting with
DIFFERENCE-0, COMMUTATIVITY-OF-PLUS, DIFFERENCE-X-X, and
REMAINDER-0-CROCK, and expanding EQUAL and PLUS, to:
T.
Case 2. (IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(EQUAL (PLUS X (DIFFERENCE P X)) P)
(NOT (EQUAL X 0))
( LEQ X P)
(LESSP (DIFFERENCE P X) P))
(NOT (EQUAL (DIFFERENCE P X) X))),
which we again simplify, clearly, to:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(EQUAL (PLUS X X) P)
(NOT (EQUAL X 0))
( LEQ X P)
(LESSP X P))
(NOT (EQUAL (DIFFERENCE P X) X))),
which we again simplify, rewriting with the lemma PLUS-X-X-EVEN,
and unfolding EQUAL, to:
T.
Case 1. (IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(EQUAL (PLUS X (DIFFERENCE P X)) P)
(NOT (EQUAL X 0))
( LEQ X P)
(EQUAL P 0))
(NOT (EQUAL (DIFFERENCE P X) X))),
which again simplifies, using linear arithmetic, to:
(IMPLIES (AND (NOT (NUMBERP X))
(EQUAL (REMAINDER 0 2) 1)
(EQUAL (PLUS X (DIFFERENCE 0 X)) 0)
(NOT (EQUAL X 0))
( LEQ X 0))
(NOT (EQUAL (DIFFERENCE 0 X) X))),
which again simplifies, trivially, to:
T.
Q.E.D.
[ 23.451823 0.423177082 ]
RES1-REM-1-1
(PROVE-LEMMA RES1-REM-1 NIL
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES 2. P))
(NOT (DIVIDES P A))
(RES1 (QUOTIENT P 2.) A P))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2.)) P)
1.))
((USE (REM-REFLECT-LIST (N (QUOTIENT P 2.)))
(PRIME-KEY-TRICK (M (FACT (QUOTIENT P 2.)))
(A (EXP A (QUOTIENT P 2.)))
(B 1.)))
(DISABLE PRIME-KEY-TRICK LESSP-REMAINDER-DIVISOR
PRIME1)))
This conjecture can be simplified, using the abbreviations NOT, PRIME,
IMPLIES, AND, DIVIDES, and REFLECT, to:
(IMPLIES
(AND
(IMPLIES
(NOT (ZEROP P))
(EQUAL
(REMAINDER (TIMES-LIST (REFLECT-LIST (QUOTIENT P 2) A P))
P)
(IF
(RES1 (QUOTIENT P 2) A P)
(REMAINDER (TIMES (EXP A (QUOTIENT P 2))
(FACT (QUOTIENT P 2)))
P)
(REMAINDER
(DIFFERENCE P
(REMAINDER (TIMES (EXP A (QUOTIENT P 2))
(FACT (QUOTIENT P 2)))
P))
P))))
(IMPLIES
(AND (EQUAL (REMAINDER (TIMES (FACT (QUOTIENT P 2))
(EXP A (QUOTIENT P 2)))
P)
(REMAINDER (TIMES (FACT (QUOTIENT P 2)) 1)
P))
(AND (NOT (EQUAL (REMAINDER (FACT (QUOTIENT P 2)) P)
0))
(PRIME P)))
(EQUAL (EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
(REMAINDER 1 P))
T))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(RES1 (QUOTIENT P 2) A P))
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1)).
This simplifies, using linear arithmetic, applying TIMES-REFLECT-LIST,
COMMUTATIVITY-OF-TIMES, LESSP-QUOTIENT1, PRIME-FACT, and COROLLARY-55,
and expanding the definitions of ZEROP, NOT, DIVIDES, PRIME, NUMBERP,
EQUAL, and IMPLIES, to:
T.
Q.E.D.
[ 144.080078 0.313020833 ]
RES1-REM-1
(PROVE-LEMMA REMAINDER-LESSP NIL
(IMPLIES (LESSP A P)
(EQUAL (REMAINDER A P) (FIX A))))
This conjecture simplifies, opening up REMAINDER and FIX, to:
T.
Q.E.D.
[ 0.92005208 0.0151041667 ]
REMAINDER-LESSP
(PROVE-LEMMA RES1-REM-2 NIL
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES 2. P))
(NOT (DIVIDES P A))
(NOT (RES1 (QUOTIENT P 2.) A P)))
(NOT (EQUAL (REMAINDER (EXP A (QUOTIENT P 2.)) P)
1.)))
((USE (REM-REFLECT-LIST (N (QUOTIENT P 2.)))
(REMAINDER-EXP-LEMMA (A P)
(Y (EXP A (QUOTIENT P 2.)))
(Z 1.)
(X (FACT (QUOTIENT P 2.))))
(RES1-REM-1-1 (X (REMAINDER (FACT (QUOTIENT P 2.)) P)))
(REMAINDER-LESSP (A 1.)))
(HANDS-OFF FACT EXP QUOTIENT REMAINDER REFLECT-LIST)
(DISABLE LESSP-REMAINDER-DIVISOR PRIME1 DIFFERENCE
COROLLARY-55 REMAINDER-EXP-LEMMA)))
This conjecture can be simplified, using the abbreviations NOT, PRIME,
IMPLIES, AND, DIVIDES, and REFLECT, to the goal:
(IMPLIES
(AND
(IMPLIES
(NOT (ZEROP P))
(EQUAL
(REMAINDER (TIMES-LIST (REFLECT-LIST (QUOTIENT P 2) A P))
P)
(IF
(RES1 (QUOTIENT P 2) A P)
(REMAINDER (TIMES (EXP A (QUOTIENT P 2))
(FACT (QUOTIENT P 2)))
P)
(REMAINDER
(DIFFERENCE P
(REMAINDER (TIMES (EXP A (QUOTIENT P 2))
(FACT (QUOTIENT P 2)))
P))
P))))
(IMPLIES
(EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
(REMAINDER 1 P))
(EQUAL (EQUAL (REMAINDER (TIMES (FACT (QUOTIENT P 2))
(EXP A (QUOTIENT P 2)))
P)
(REMAINDER (TIMES (FACT (QUOTIENT P 2)) 1)
P))
T))
(IMPLIES
(AND (NOT (ZEROP (REMAINDER (FACT (QUOTIENT P 2)) P)))
(NOT (EQUAL (REMAINDER P 2) 0)))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE P
(REMAINDER (FACT (QUOTIENT P 2)) P))
P)
(REMAINDER (FACT (QUOTIENT P 2))
P))))
(IMPLIES (LESSP 1 P)
(EQUAL (REMAINDER 1 P) (FIX 1)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (RES1 (QUOTIENT P 2) A P)))
(NOT (EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1))),
which simplifies, using linear arithmetic, applying the lemmas
TIMES-REFLECT-LIST, COMMUTATIVITY-OF-TIMES, TIMES-1, PRIME-FACT, and
LESSP-QUOTIENT1, and expanding the definitions of ZEROP, NOT, DIVIDES,
PRIME, IMPLIES, EQUAL, NUMBERP, AND, SUB1, LESSP, and FIX, to three
new goals:
Case 3. (IMPLIES
(AND
(EQUAL
(REMAINDER (FACT (QUOTIENT P 2)) P)
(REMAINDER
(DIFFERENCE P
(REMAINDER (TIMES (FACT (QUOTIENT P 2))
(EXP A (QUOTIENT P 2)))
P))
P))
(NOT (EQUAL 1 (REMAINDER 1 P)))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE P
(REMAINDER (FACT (QUOTIENT P 2)) P))
P)
(REMAINDER (FACT (QUOTIENT P 2)) P)))
(EQUAL (SUB1 P) 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P 0)
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (RES1 (QUOTIENT P 2) A P)))
(NOT (EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1))),
which we again simplify, using linear arithmetic, to:
T.
Case 2. (IMPLIES
(AND
(EQUAL
(REMAINDER (FACT (QUOTIENT P 2)) P)
(REMAINDER
(DIFFERENCE P
(REMAINDER (TIMES (FACT (QUOTIENT P 2))
(EXP A (QUOTIENT P 2)))
P))
P))
(EQUAL (REMAINDER (TIMES (FACT (QUOTIENT P 2))
(EXP A (QUOTIENT P 2)))
P)
(REMAINDER (FACT (QUOTIENT P 2)) P))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE P
(REMAINDER (FACT (QUOTIENT P 2)) P))
P)
(REMAINDER (FACT (QUOTIENT P 2)) P)))
(EQUAL (SUB1 P) 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P 0)
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (RES1 (QUOTIENT P 2) A P)))
(NOT (EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1))).
However this simplifies again, using linear arithmetic, to:
T.
Case 1. (IMPLIES
(AND
(EQUAL
(REMAINDER (FACT (QUOTIENT P 2)) P)
(REMAINDER
(DIFFERENCE P
(REMAINDER (TIMES (FACT (QUOTIENT P 2))
(EXP A (QUOTIENT P 2)))
P))
P))
(EQUAL (REMAINDER (TIMES (FACT (QUOTIENT P 2))
(EXP A (QUOTIENT P 2)))
P)
(REMAINDER (FACT (QUOTIENT P 2)) P))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE P
(REMAINDER (FACT (QUOTIENT P 2)) P))
P)
(REMAINDER (FACT (QUOTIENT P 2)) P)))
(EQUAL (REMAINDER 1 P) 1)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (RES1 (QUOTIENT P 2) A P)))
(NOT (EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1))).
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace P by
(PLUS Z (TIMES 2 X)) to eliminate (QUOTIENT P 2) and
(REMAINDER P 2). We rely upon LESSP-REMAINDER2, the type
restriction lemma noted when QUOTIENT was introduced, and the type
restriction lemma noted when REMAINDER was introduced to constrain
the new variables. We thus obtain the following three new formulas:
Case 1.3.
(IMPLIES
(AND
(EQUAL 2 0)
(EQUAL
(REMAINDER (FACT (QUOTIENT P 2)) P)
(REMAINDER
(DIFFERENCE P
(REMAINDER (TIMES (FACT (QUOTIENT P 2))
(EXP A (QUOTIENT P 2)))
P))
P))
(EQUAL (REMAINDER (TIMES (FACT (QUOTIENT P 2))
(EXP A (QUOTIENT P 2)))
P)
(REMAINDER (FACT (QUOTIENT P 2)) P))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE P
(REMAINDER (FACT (QUOTIENT P 2)) P))
P)
(REMAINDER (FACT (QUOTIENT P 2)) P)))
(EQUAL (REMAINDER 1 P) 1)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (RES1 (QUOTIENT P 2) A P)))
(NOT (EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1))),
which further simplifies, using linear arithmetic, to:
T.
Case 1.2.
(IMPLIES
(AND
(NOT (NUMBERP 2))
(EQUAL
(REMAINDER (FACT (QUOTIENT P 2)) P)
(REMAINDER
(DIFFERENCE P
(REMAINDER (TIMES (FACT (QUOTIENT P 2))
(EXP A (QUOTIENT P 2)))
P))
P))
(EQUAL (REMAINDER (TIMES (FACT (QUOTIENT P 2))
(EXP A (QUOTIENT P 2)))
P)
(REMAINDER (FACT (QUOTIENT P 2)) P))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE P
(REMAINDER (FACT (QUOTIENT P 2)) P))
P)
(REMAINDER (FACT (QUOTIENT P 2)) P)))
(EQUAL (REMAINDER 1 P) 1)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (RES1 (QUOTIENT P 2) A P)))
(NOT (EQUAL (REMAINDER (EXP A (QUOTIENT P 2)) P)
1))),
which further simplifies, trivially, to:
T.
Case 1.1.
(IMPLIES
(AND
(NUMBERP X)
(NUMBERP Z)
(EQUAL (LESSP Z 2) (NOT (ZEROP 2)))
(NOT (EQUAL 2 0))
(EQUAL
(REMAINDER (FACT X)
(PLUS Z (TIMES 2 X)))
(REMAINDER
(DIFFERENCE (PLUS Z (TIMES 2 X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS Z (TIMES 2 X))))
(PLUS Z (TIMES 2 X))))
(EQUAL (REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS Z (TIMES 2 X)))
(REMAINDER (FACT X)
(PLUS Z (TIMES 2 X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE (PLUS Z (TIMES 2 X))
(REMAINDER (FACT X)
(PLUS Z (TIMES 2 X))))
(PLUS Z (TIMES 2 X)))
(REMAINDER (FACT X)
(PLUS Z (TIMES 2 X)))))
(EQUAL (REMAINDER 1 (PLUS Z (TIMES 2 X)))
1)
(NOT (EQUAL (PLUS Z (TIMES 2 X)) 0))
(NOT (EQUAL (PLUS Z (TIMES 2 X)) 1))
(PRIME1 (PLUS Z (TIMES 2 X))
(SUB1 (PLUS Z (TIMES 2 X))))
(NOT (EQUAL Z 0))
(NOT (EQUAL (REMAINDER A (PLUS Z (TIMES 2 X)))
0))
(NOT (RES1 X A (PLUS Z (TIMES 2 X)))))
(NOT (EQUAL (REMAINDER (EXP A X)
(PLUS Z (TIMES 2 X)))
1))).
However this further simplifies, rewriting with TIMES-2,
COMMUTATIVITY-OF-PLUS, COMMUTATIVITY2-OF-PLUS, and PLUS-EQUAL-0,
and expanding ZEROP, NOT, and EQUAL, to the new conjecture:
(IMPLIES
(AND
(NUMBERP X)
(NUMBERP Z)
(LESSP Z 2)
(EQUAL
(REMAINDER (FACT X)
(PLUS X (PLUS X Z)))
(REMAINDER
(DIFFERENCE (PLUS X (PLUS X Z))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS X (PLUS X Z))))
(PLUS X (PLUS X Z))))
(EQUAL (REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS X (PLUS X Z)))
(REMAINDER (FACT X)
(PLUS X (PLUS X Z))))
(NOT
(EQUAL
(REMAINDER (DIFFERENCE (PLUS X (PLUS X Z))
(REMAINDER (FACT X)
(PLUS X (PLUS X Z))))
(PLUS X (PLUS X Z)))
(REMAINDER (FACT X)
(PLUS X (PLUS X Z)))))
(EQUAL (REMAINDER 1 (PLUS X (PLUS X Z)))
1)
(NOT (EQUAL (PLUS X (PLUS X Z)) 1))
(PRIME1 (PLUS X (PLUS X Z))
(SUB1 (PLUS X (PLUS X Z))))
(NOT (EQUAL Z 0))
(NOT (EQUAL (REMAINDER A (PLUS X (PLUS X Z)))
0))
(NOT (RES1 X A (PLUS X (PLUS X Z)))))
(NOT (EQUAL (REMAINDER (EXP A X)
(PLUS X (PLUS X Z)))
1))).
This simplifies again, using linear arithmetic, to the new
formula:
(IMPLIES
(AND
(NUMBERP X)
(NUMBERP 1)
(LESSP 1 2)
(EQUAL
(REMAINDER (FACT X)
(PLUS X (PLUS X 1)))
(REMAINDER
(DIFFERENCE (PLUS X (PLUS X 1))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS X (PLUS X 1))))
(PLUS X (PLUS X 1))))
(EQUAL (REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS X (PLUS X 1)))
(REMAINDER (FACT X)
(PLUS X (PLUS X 1))))
(NOT
(EQUAL
(REMAINDER (DIFFERENCE (PLUS X (PLUS X 1))
(REMAINDER (FACT X)
(PLUS X (PLUS X 1))))
(PLUS X (PLUS X 1)))
(REMAINDER (FACT X)
(PLUS X (PLUS X 1)))))
(EQUAL (REMAINDER 1 (PLUS X (PLUS X 1)))
1)
(NOT (EQUAL (PLUS X (PLUS X 1)) 1))
(PRIME1 (PLUS X (PLUS X 1))
(SUB1 (PLUS X (PLUS X 1))))
(NOT (EQUAL 1 0))
(NOT (EQUAL (REMAINDER A (PLUS X (PLUS X 1)))
0))
(NOT (RES1 X A (PLUS X (PLUS X 1)))))
(NOT (EQUAL (REMAINDER (EXP A X)
(PLUS X (PLUS X 1)))
1))).
This again simplifies, rewriting with COMMUTATIVITY-OF-PLUS,
COMMUTATIVITY2-OF-PLUS, CORRECTNESS-OF-CANCEL, and PLUS-EQUAL-0,
and expanding the definitions of NUMBERP, LESSP, and EQUAL, to
the new conjecture:
(IMPLIES
(AND
(NUMBERP X)
(EQUAL
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL (REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER (DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL (REMAINDER A (PLUS 1 (PLUS X X)))
0))
(NOT (RES1 X A (PLUS 1 (PLUS X X)))))
(NOT (EQUAL (REMAINDER (EXP A X)
(PLUS 1 (PLUS X X)))
1))).
Applying the lemma REMAINDER-QUOTIENT-ELIM, we now replace A by:
(PLUS Z (TIMES (PLUS 1 (PLUS X X)) V))
to eliminate (REMAINDER A (PLUS 1 (PLUS X X))) and:
(QUOTIENT A (PLUS 1 (PLUS X X)))
. We employ LESSP-REMAINDER2, the type restriction lemma noted
when REMAINDER was introduced, and the type restriction lemma
noted when QUOTIENT was introduced to constrain the new variables.
We thus obtain the following four new formulas:
Case 1.1.4.
(IMPLIES
(AND
(NOT (NUMBERP A))
(NUMBERP X)
(EQUAL
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL (REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL (REMAINDER A (PLUS 1 (PLUS X X)))
0))
(NOT (RES1 X A (PLUS 1 (PLUS X X)))))
(NOT (EQUAL (REMAINDER (EXP A X)
(PLUS 1 (PLUS X X)))
1))).
We now use the first equality hypothesis by substituting:
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
for (REMAINDER (FACT X) (PLUS 1 (PLUS X X))) and keeping the
equality hypothesis. We thus obtain:
(IMPLIES
(AND
(NOT (NUMBERP A))
(NUMBERP X)
(EQUAL
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL (REMAINDER A (PLUS 1 (PLUS X X)))
0))
(NOT (RES1 X A (PLUS 1 (PLUS X X)))))
(NOT (EQUAL (REMAINDER (EXP A X)
(PLUS 1 (PLUS X X)))
1))),
which we further simplify, using linear arithmetic, to the new
conjecture:
(IMPLIES
(AND
(EQUAL (REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(NOT (NUMBERP A))
(NUMBERP X)
(EQUAL
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL (REMAINDER A (PLUS 1 (PLUS X X)))
0))
(NOT (RES1 X A (PLUS 1 (PLUS X X)))))
(NOT (EQUAL (REMAINDER (EXP A X)
(PLUS 1 (PLUS X X)))
1))).
We use the first equality hypothesis by substituting:
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
for (REMAINDER (FACT X) (PLUS 1 (PLUS X X))) and keeping the
equality hypothesis. This generates:
(IMPLIES
(AND
(EQUAL (REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(NOT (NUMBERP A))
(NUMBERP X)
(EQUAL
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL (REMAINDER A (PLUS 1 (PLUS X X)))
0))
(NOT (RES1 X A (PLUS 1 (PLUS X X)))))
(NOT (EQUAL (REMAINDER (EXP A X)
(PLUS 1 (PLUS X X)))
1))).
We use the second equality hypothesis by substituting:
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
for:
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
and keeping the equality hypothesis. We thus obtain:
(IMPLIES
(AND
(EQUAL (REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(NOT (NUMBERP A))
(NUMBERP X)
(EQUAL
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL (REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL (REMAINDER A (PLUS 1 (PLUS X X)))
0))
(NOT (RES1 X A (PLUS 1 (PLUS X X)))))
(NOT (EQUAL (REMAINDER (EXP A X)
(PLUS 1 (PLUS X X)))
1))),
which we finally simplify, trivially, to:
T.
Case 1.1.3.
(IMPLIES
(AND
(EQUAL (PLUS 1 (PLUS X X)) 0)
(NUMBERP X)
(EQUAL
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL (REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL (REMAINDER A (PLUS 1 (PLUS X X)))
0))
(NOT (RES1 X A (PLUS 1 (PLUS X X)))))
(NOT (EQUAL (REMAINDER (EXP A X)
(PLUS 1 (PLUS X X)))
1))).
But this simplifies finally, using linear arithmetic, to:
T.
Case 1.1.2.
(IMPLIES
(AND
(NOT (NUMBERP (PLUS 1 (PLUS X X))))
(NUMBERP X)
(EQUAL
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL (REMAINDER (TIMES (FACT X) (EXP A X))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL (REMAINDER A (PLUS 1 (PLUS X X)))
0))
(NOT (RES1 X A (PLUS 1 (PLUS X X)))))
(NOT (EQUAL (REMAINDER (EXP A X)
(PLUS 1 (PLUS X X)))
1))),
which we finally simplify, clearly, to:
T.
Case 1.1.1.
(IMPLIES
(AND
(NUMBERP Z)
(EQUAL (LESSP Z (PLUS 1 (PLUS X X)))
(NOT (ZEROP (PLUS 1 (PLUS X X)))))
(NUMBERP V)
(NOT (EQUAL (PLUS 1 (PLUS X X)) 0))
(NUMBERP X)
(EQUAL
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES (FACT X)
(EXP (PLUS Z
(TIMES (PLUS 1 (PLUS X X)) V))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL
(REMAINDER
(TIMES (FACT X)
(EXP (PLUS Z
(TIMES (PLUS 1 (PLUS X X)) V))
X))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL Z 0))
(NOT (RES1 X
(PLUS Z
(TIMES (PLUS 1 (PLUS X X)) V))
(PLUS 1 (PLUS X X)))))
(NOT
(EQUAL
(REMAINDER (EXP (PLUS Z
(TIMES (PLUS 1 (PLUS X X)) V))
X)
(PLUS 1 (PLUS X X)))
1))),
which we further simplify, applying PLUS-EQUAL-0, TIMES-1,
COMMUTATIVITY-OF-TIMES, DISTRIBUTIVITY-OF-TIMES-OVER-PLUS, and
COMMUTATIVITY2-OF-PLUS, and opening up the definitions of
NUMBERP, EQUAL, ZEROP, and NOT, to:
(IMPLIES
(AND
(NUMBERP Z)
(LESSP Z (PLUS 1 (PLUS X X)))
(NUMBERP V)
(NUMBERP X)
(EQUAL
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL Z 0))
(NOT (RES1 X
(PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
(PLUS 1 (PLUS X X)))))
(NOT
(EQUAL
(REMAINDER
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X)
(PLUS 1 (PLUS X X)))
1))).
We now use the first equality hypothesis by substituting:
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
for (REMAINDER (FACT X) (PLUS 1 (PLUS X X))) and keeping the
equality hypothesis. We thus obtain the new goal:
(IMPLIES
(AND
(NUMBERP Z)
(LESSP Z (PLUS 1 (PLUS X X)))
(NUMBERP V)
(NUMBERP X)
(EQUAL
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP
(PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE
"`(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL Z 0))
(NOT (RES1 X
(PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
(PLUS 1 (PLUS X X)))))
(NOT
(EQUAL
(REMAINDER
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X)
(PLUS 1 (PLUS X X)))
1))).
But this further simplifies, using linear arithmetic, to the
new conjecture:
(IMPLIES
(AND
(EQUAL
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(NUMBERP Z)
(LESSP Z (PLUS 1 (PLUS X X)))
(NUMBERP V)
(NUMBERP X)
(EQUAL
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE (PLUS 1 (PLUS X X))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL Z 0))
(NOT (RES1 X
(PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
(PLUS 1 (PLUS X X)))))
(NOT
(EQUAL
(REMAINDER
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X)
(PLUS 1 (PLUS X X)))
1))).
We use the first equality hypothesis by substituting:
(REMAINDER
(TIMES (FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X)))
for (REMAINDER (FACT X) (PLUS 1 (PLUS X X))) and keeping the
equality hypothesis. We must thus prove:
(IMPLIES
(AND
(EQUAL
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(NUMBERP Z)
(LESSP Z (PLUS 1 (PLUS X X)))
(NUMBERP V)
(NUMBERP X)
(EQUAL
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP
(PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL Z 0))
(NOT (RES1 X
(PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
(PLUS 1 (PLUS X X)))))
(NOT
(EQUAL
(REMAINDER
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X)
(PLUS 1 (PLUS X X)))
1))).
We use the second equality hypothesis by substituting:
(REMAINDER
(TIMES (FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X)))
for:
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
and keeping the equality hypothesis. We thus obtain:
(IMPLIES
(AND
(EQUAL
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X)))
(REMAINDER (FACT X)
(PLUS 1 (PLUS X X))))
(NUMBERP Z)
(LESSP Z (PLUS 1 (PLUS X X)))
(NUMBERP V)
(NUMBERP X)
(EQUAL
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X)))
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X))))
(EQUAL
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X)))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(NOT
(EQUAL
(REMAINDER
(DIFFERENCE
(PLUS 1 (PLUS X X))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X))))
(PLUS 1 (PLUS X X)))
(REMAINDER
(TIMES
(FACT X)
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X))
(PLUS 1 (PLUS X X)))))
(EQUAL (REMAINDER 1 (PLUS 1 (PLUS X X)))
1)
(NOT (EQUAL X 0))
(PRIME1 (PLUS 1 (PLUS X X))
(SUB1 (PLUS 1 (PLUS X X))))
(NOT (EQUAL Z 0))
(NOT (RES1 X
(PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
(PLUS 1 (PLUS X X)))))
(NOT
(EQUAL
(REMAINDER
(EXP (PLUS V
(PLUS Z
(PLUS (TIMES V X) (TIMES V X))))
X)
(PLUS 1 (PLUS X X)))
1))),
which finally simplifies, clearly, to:
T.
Q.E.D.
[ 75.111068 3.1748698 ]
RES1-REM-2
(PROVE-LEMMA TWO-EVEN NIL
(IMPLIES (NOT (DIVIDES 2. P))
(NOT (EQUAL (SUB1 P) 1.)))
((INDUCT (ODD P))))
This conjecture can be simplified, using the abbreviations ZEROP,
IMPLIES, NOT, OR, AND, and DIVIDES, to three new conjectures:
Case 3. (IMPLIES (AND (ZEROP P)
(NOT (EQUAL (REMAINDER P 2) 0)))
(NOT (EQUAL (SUB1 P) 1))).
This simplifies, opening up the functions ZEROP, REMAINDER, EQUAL,
LESSP, and NUMBERP, to:
T.
Case 2. (IMPLIES (AND (NOT (EQUAL P 0))
(NUMBERP P)
(ZEROP (SUB1 P))
(NOT (EQUAL (REMAINDER P 2) 0)))
(NOT (EQUAL (SUB1 P) 1))),
which simplifies, unfolding the definition of ZEROP, to:
T.
Case 1. (IMPLIES
(AND (NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL (SUB1 P) 0))
(NUMBERP (SUB1 P))
(IMPLIES (NOT (EQUAL (REMAINDER (SUB1 (SUB1 P)) 2)
0))
(NOT (EQUAL (SUB1 (SUB1 (SUB1 P))) 1)))
(NOT (EQUAL (REMAINDER P 2) 0)))
(NOT (EQUAL (SUB1 P) 1))).
This simplifies, using linear arithmetic, applying DIFFERENCE-0,
and expanding the functions EQUAL, NUMBERP, SUB1, REMAINDER, NOT,
IMPLIES, and LESSP, to:
T.
Q.E.D.
[ 3.9623698 0.131770832 ]
TWO-EVEN
(PROVE-LEMMA GAUSS-LEMMA NIL
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P A))
(NOT (DIVIDES 2. P)))
(EQUAL (RES1 (QUOTIENT P 2.) A P)
(RESIDUE A P)))
((USE (EULER-1)
(EULER-2)
(RES1-REM-1)
(RES1-REM-2)
(TWO-EVEN))
(DISABLE EULER-1 EULER-2 QUOTIENT EXP RESIDUE RES1
PRIME DIVIDES)))
This simplifies, opening up the definitions of NOT, AND, IMPLIES, and
EQUAL, to:
T.
Q.E.D.
[ 12.268099 0.0190104167 ]
GAUSS-LEMMA
(DEFN PLUS-LIST
(L)
(IF (NLISTP L)
0.
(PLUS (CAR L) (PLUS-LIST (CDR L)))))
Linear arithmetic, the lemmas CDR-LESSEQP and CDR-LESSP, and the
definition of NLISTP establish that the measure (COUNT L) decreases
according to the well-founded relation LESSP in each recursive call.
Hence, PLUS-LIST is accepted under the principle of definition. Note
that (NUMBERP (PLUS-LIST L)) is a theorem.
[ 3.3279948 0.0600260417 ]
PLUS-LIST
(DEFN QUOT-LIST
(N A P)
(IF (ZEROP N)
NIL
(CONS (QUOTIENT (TIMES A N) P)
(QUOT-LIST (SUB1 N) A P))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition
of ZEROP inform us that the measure (COUNT N) decreases according to
the well-founded relation LESSP in each recursive call. Hence,
QUOT-LIST is accepted under the principle of definition. Observe
that (OR (LITATOM (QUOT-LIST N A P)) (LISTP (QUOT-LIST N A P))) is a
theorem.
[ 0.56914063 0.05390625 ]
QUOT-LIST
(DEFN REM-LIST
(N A P)
(IF (ZEROP N)
NIL
(CONS (REMAINDER (TIMES A N) P)
(REM-LIST (SUB1 N) A P))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition
of ZEROP inform us that the measure (COUNT N) decreases according to
the well-founded relation LESSP in each recursive call. Hence,
REM-LIST is accepted under the principle of definition. Observe that:
(OR (LITATOM (REM-LIST N A P))
(LISTP (REM-LIST N A P)))
is a theorem.
[ 0.234114584 0.048828125 ]
REM-LIST
(PROVE-LEMMA REM-QUOT-LIST NIL
(EQUAL (TIMES A (PLUS-LIST (POSITIVES N)))
(PLUS (TIMES P
(PLUS-LIST (QUOT-LIST N A P)))
(PLUS-LIST (REM-LIST N A P)))))
This simplifies, applying the lemma COMMUTATIVITY-OF-PLUS, to:
(EQUAL (TIMES A (PLUS-LIST (POSITIVES N)))
(PLUS (PLUS-LIST (REM-LIST N A P))
(TIMES P
(PLUS-LIST (QUOT-LIST N A P))))).
Call the above conjecture *1.
We will appeal to induction. There are three plausible
inductions. However, they merge into one likely candidate induction.
We will induct according to the following scheme:
(AND (IMPLIES (ZEROP N) (P A N P))
(IMPLIES (AND (NOT (ZEROP N)) (P A (SUB1 N) P))
(P A N P))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of
ZEROP establish that the measure (COUNT N) decreases according to the
well-founded relation LESSP in each induction step of the scheme.
The above induction scheme leads to the following two new conjectures:
Case 2. (IMPLIES
(ZEROP N)
(EQUAL (TIMES A (PLUS-LIST (POSITIVES N)))
(PLUS (PLUS-LIST (REM-LIST N A P))
(TIMES P
(PLUS-LIST (QUOT-LIST N A P)))))).
This simplifies, applying COMMUTATIVITY-OF-TIMES, and expanding the
functions ZEROP, POSITIVES, PLUS-LIST, EQUAL, REM-LIST, QUOT-LIST,
and PLUS, to the following two new formulas:
Case 2.2.
(IMPLIES (EQUAL N 0)
(EQUAL (TIMES 0 A) (TIMES 0 P))),
which again simplifies, using linear arithmetic, to:
T.
Case 2.1.
(IMPLIES (NOT (NUMBERP N))
(EQUAL (TIMES 0 A) (TIMES 0 P))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES
(AND
(NOT (ZEROP N))
(EQUAL (TIMES A
(PLUS-LIST (POSITIVES (SUB1 N))))
(PLUS (PLUS-LIST (REM-LIST (SUB1 N) A P))
(TIMES P
(PLUS-LIST (QUOT-LIST (SUB1 N) A P))))))
(EQUAL (TIMES A (PLUS-LIST (POSITIVES N)))
(PLUS (PLUS-LIST (REM-LIST N A P))
(TIMES P
(PLUS-LIST (QUOT-LIST N A P)))))).
This simplifies, rewriting with CDR-CONS, CAR-CONS,
DISTRIBUTIVITY-OF-TIMES-OVER-PLUS, TIMES-ADD1, and
ASSOCIATIVITY-OF-PLUS, and expanding ZEROP, POSITIVES, PLUS,
PLUS-LIST, REM-LIST, and QUOT-LIST, to:
(IMPLIES
(AND
(NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (TIMES A
(PLUS-LIST (POSITIVES (SUB1 N))))
(PLUS (PLUS-LIST (REM-LIST (SUB1 N) A P))
(TIMES P
(PLUS-LIST (QUOT-LIST (SUB1 N) A P))))))
(EQUAL
(PLUS A
(PLUS (TIMES A (SUB1 N))
(TIMES A
(PLUS-LIST (POSITIVES (SUB1 N))))))
(PLUS
(REMAINDER (TIMES A N) P)
(PLUS
(PLUS-LIST (REM-LIST (SUB1 N) A P))
(PLUS (TIMES P (QUOTIENT (TIMES A N) P))
(TIMES P
(PLUS-LIST (QUOT-LIST (SUB1 N) A P)))))))).
Applying the lemma SUB1-ELIM, we now replace N by (ADD1 X) to
eliminate (SUB1 N). We employ the type restriction lemma noted
when SUB1 was introduced to constrain the new variable. The result
is:
(IMPLIES
(AND (NUMBERP X)
(NOT (EQUAL (ADD1 X) 0))
(EQUAL (TIMES A (PLUS-LIST (POSITIVES X)))
(PLUS (PLUS-LIST (REM-LIST X A P))
(TIMES P
(PLUS-LIST (QUOT-LIST X A P))))))
(EQUAL
(PLUS A
(PLUS (TIMES A X)
(TIMES A (PLUS-LIST (POSITIVES X)))))
(PLUS
(REMAINDER (TIMES A (ADD1 X)) P)
(PLUS (PLUS-LIST (REM-LIST X A P))
(PLUS (TIMES P
(QUOTIENT (TIMES A (ADD1 X)) P))
(TIMES P
(PLUS-LIST (QUOT-LIST X A P)))))))),
which we further simplify, rewriting with TIMES-ADD1,
COMMUTATIVITY-OF-PLUS, and COMMUTATIVITY2-OF-PLUS, to:
(IMPLIES
(AND (NUMBERP X)
(EQUAL (TIMES A (PLUS-LIST (POSITIVES X)))
(PLUS (PLUS-LIST (REM-LIST X A P))
(TIMES P
(PLUS-LIST (QUOT-LIST X A P))))))
(EQUAL
(PLUS A
(PLUS (TIMES A X)
(TIMES A (PLUS-LIST (POSITIVES X)))))
(PLUS (PLUS-LIST (REM-LIST X A P))
(PLUS (REMAINDER (PLUS A (TIMES A X)) P)
(PLUS (TIMES P
(PLUS-LIST (QUOT-LIST X A P)))
(TIMES P
(QUOTIENT (PLUS A (TIMES A X))
P))))))).
We now use the above equality hypothesis by substituting:
(PLUS (PLUS-LIST (REM-LIST X A P))
(TIMES P
(PLUS-LIST (QUOT-LIST X A P))))
for (TIMES A (PLUS-LIST (POSITIVES X))) and throwing away the
equality. We would thus like to prove:
(IMPLIES
(NUMBERP X)
(EQUAL
(PLUS A
(PLUS (TIMES A X)
(PLUS (PLUS-LIST (REM-LIST X A P))
(TIMES P
(PLUS-LIST (QUOT-LIST X A P))))))
(PLUS (PLUS-LIST (REM-LIST X A P))
(PLUS (REMAINDER (PLUS A (TIMES A X)) P)
(PLUS (TIMES P
(PLUS-LIST (QUOT-LIST X A P)))
(TIMES P
(QUOTIENT (PLUS A (TIMES A X))
P))))))),
which we further simplify, applying CORRECTNESS-OF-CANCEL and
REMAINDER-QUOTIENT, to:
T.
That finishes the proof of *1. Q.E.D.
[ 99.861068 0.60507812 ]
REM-QUOT-LIST
(DEFN EVEN3
(X)
(IF (ZEROP X)
T
(NOT (EVEN3 (SUB1 X)))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition
of ZEROP inform us that the measure (COUNT X) decreases according to
the well-founded relation LESSP in each recursive call. Hence, EVEN3
is accepted under the principle of definition. Observe that:
(OR (FALSEP (EVEN3 X))
(TRUEP (EVEN3 X)))
is a theorem.
[ 0.249088543 0.0479166666 ]
EVEN3
(PROVE-LEMMA EVEN3-PLUS
(REWRITE)
(EQUAL (EVEN3 (PLUS A B))
(EQUAL (EVEN3 A) (EVEN3 B))))
This formula simplifies, obviously, to the following two new goals:
Case 2. (IMPLIES (NOT (EQUAL (EVEN3 A) (EVEN3 B)))
(NOT (EVEN3 (PLUS A B)))),
which we will name *1.
Case 1. (IMPLIES (EQUAL (EVEN3 A) (EVEN3 B))
(EQUAL (EVEN3 (PLUS A B)) T)),
which again simplifies, obviously, to the new conjecture:
(IMPLIES (EQUAL (EVEN3 A) (EVEN3 B))
(EVEN3 (PLUS A B))),
which we would usually push and work on later by induction. But if
we must use induction to prove the input conjecture, we prefer to
induct on the original formulation of the problem. Thus we will
disregard all that we have previously done, give the name *1 to the
original input, and work on it.
So now let us return to:
(EQUAL (EVEN3 (PLUS A B))
(EQUAL (EVEN3 A) (EVEN3 B))).
We named this *1. Let us appeal to the induction principle. Three
inductions are suggested by terms in the conjecture. They merge into
two likely candidate inductions. However, only one is unflawed. We
will induct according to the following scheme:
(AND (IMPLIES (ZEROP A) (P A B))
(IMPLIES (AND (NOT (ZEROP A)) (P (SUB1 A) B))
(P A B))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the
definition of ZEROP establish that the measure (COUNT A) decreases
according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme produces the following two
new formulas:
Case 2. (IMPLIES (ZEROP A)
(EQUAL (EVEN3 (PLUS A B))
(EQUAL (EVEN3 A) (EVEN3 B)))),
which simplifies, unfolding the functions ZEROP, EQUAL, PLUS, and
EVEN3, to the following two new goals:
Case 2.2.
(IMPLIES (AND (EQUAL A 0) (NOT (NUMBERP B)))
(EQUAL (EVEN3 0) (EVEN3 B))),
which again simplifies, unfolding the definitions of EVEN3 and
EQUAL, to:
T.
Case 2.1.
(IMPLIES (AND (NOT (NUMBERP A))
(NOT (NUMBERP B)))
(EQUAL (EVEN3 0) (EVEN3 B))),
which we again simplify, unfolding the definitions of EVEN3 and
EQUAL, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP A))
(EQUAL (EVEN3 (PLUS (SUB1 A) B))
(EQUAL (EVEN3 (SUB1 A)) (EVEN3 B))))
(EQUAL (EVEN3 (PLUS A B))
(EQUAL (EVEN3 A) (EVEN3 B)))).
This simplifies, applying SUB1-ADD1, and opening up ZEROP, PLUS,
and EVEN3, to four new formulas:
Case 1.4.
(IMPLIES (AND (NOT (EQUAL A 0))
(NUMBERP A)
(NOT (EQUAL (EVEN3 (SUB1 A)) (EVEN3 B)))
(NOT (EVEN3 (PLUS (SUB1 A) B)))
(NOT (EVEN3 (SUB1 A))))
(EQUAL T (EVEN3 B))),
which again simplifies, unfolding the definition of EQUAL, to:
T.
Case 1.3.
(IMPLIES (AND (NOT (EQUAL A 0))
(NUMBERP A)
(NOT (EQUAL (EVEN3 (SUB1 A)) (EVEN3 B)))
(NOT (EVEN3 (PLUS (SUB1 A) B)))
(EVEN3 (SUB1 A)))
(EQUAL F (EVEN3 B))).
But this simplifies again, expanding the function EQUAL, to:
T.
Case 1.2.
(IMPLIES (AND (NOT (EQUAL A 0))
(NUMBERP A)
(EQUAL (EVEN3 (SUB1 A)) (EVEN3 B))
(EQUAL (EVEN3 (PLUS (SUB1 A) B)) T)
(EVEN3 B))
(NOT (EQUAL F (EVEN3 B)))),
which again simplifies, clearly, to:
T.
Case 1.1.
(IMPLIES (AND (NOT (EQUAL A 0))
(NUMBERP A)
(EQUAL (EVEN3 (SUB1 A)) (EVEN3 B))
(EQUAL (EVEN3 (PLUS (SUB1 A) B)) T)
(NOT (EVEN3 B)))
(NOT (EQUAL T (EVEN3 B)))),
which again simplifies, obviously, to:
T.
That finishes the proof of *1. Q.E.D.
[ 3.29153645 0.44153646 ]
EVEN3-PLUS
(PROVE-LEMMA EVEN3-DIFF
(REWRITE)
(IMPLIES (LEQ X P)
(EQUAL (EVEN3 (DIFFERENCE P X))
(EQUAL (EVEN3 P) (EVEN3 X)))))
This conjecture simplifies, obviously, to the following two new goals:
Case 2. (IMPLIES (AND ( LEQ X P)
(NOT (EQUAL (EVEN3 P) (EVEN3 X))))
(NOT (EVEN3 (DIFFERENCE P X)))).
Applying the lemma DIFFERENCE-ELIM, replace P by (PLUS X Z) to
eliminate (DIFFERENCE P X). We employ the type restriction lemma
noted when DIFFERENCE was introduced to constrain the new variable.
This generates two new conjectures:
Case 2.2.
(IMPLIES (AND (NOT (NUMBERP P))
( LEQ X P)
(NOT (EQUAL (EVEN3 P) (EVEN3 X))))
(NOT (EVEN3 (DIFFERENCE P X)))),
which we further simplify, unfolding LESSP, EVEN3, and EQUAL, to:
T.
Case 2.1.
(IMPLIES (AND (NUMBERP Z)
( LEQ X (PLUS X Z))
(NOT (EQUAL (EVEN3 (PLUS X Z)) (EVEN3 X))))
(NOT (EVEN3 Z))),
which further simplifies, rewriting with EVEN3-PLUS, to:
T.
Case 1. (IMPLIES (AND ( LEQ X P)
(EQUAL (EVEN3 P) (EVEN3 X)))
(EQUAL (EVEN3 (DIFFERENCE P X)) T)).
Of course, this again simplifies, obviously, to:
(IMPLIES (AND ( LEQ X P)
(EQUAL (EVEN3 P) (EVEN3 X)))
(EVEN3 (DIFFERENCE P X))).
Applying the lemma DIFFERENCE-ELIM, we now replace P by (PLUS X Z)
to eliminate (DIFFERENCE P X). We employ the type restriction
lemma noted when DIFFERENCE was introduced to constrain the new
variable. This produces two new conjectures:
Case 1.2.
(IMPLIES (AND (NOT (NUMBERP P))
( LEQ X P)
(EQUAL (EVEN3 P) (EVEN3 X)))
(EVEN3 (DIFFERENCE P X))),
which we further simplify, using linear arithmetic, rewriting
with the lemma DIFFERENCE-0, and unfolding LESSP, EVEN3, and
EQUAL, to:
T.
Case 1.1.
(IMPLIES (AND (NUMBERP Z)
( LEQ X (PLUS X Z))
(EQUAL (EVEN3 (PLUS X Z)) (EVEN3 X)))
(EVEN3 Z)),
which further simplifies, rewriting with EVEN3-PLUS, to:
T.
Q.E.D.
[ 2.78203124 0.2359375 ]
EVEN3-DIFF
(PROVE-LEMMA EVEN3-TIMES
(REWRITE)
(EQUAL (EVEN3 (TIMES A B))
(OR (EVEN3 A) (EVEN3 B))))
This formula simplifies, unfolding OR, to the following two new
conjectures:
Case 2. (IMPLIES (NOT (EVEN3 A))
(EQUAL (EVEN3 (TIMES A B))
(EVEN3 B))),
which we will name *1.
Case 1. (IMPLIES (EVEN3 A)
(EQUAL (EVEN3 (TIMES A B)) T)).
This again simplifies, trivially, to:
(IMPLIES (EVEN3 A)
(EVEN3 (TIMES A B))),
which we would usually push and work on later by induction. But if
we must use induction to prove the input conjecture, we prefer to
induct on the original formulation of the problem. Thus we will
disregard all that we have previously done, give the name *1 to the
original input, and work on it.
So now let us return to:
(EQUAL (EVEN3 (TIMES A B))
(OR (EVEN3 A) (EVEN3 B))).
We named this *1. Let us appeal to the induction principle. Two
inductions are suggested by terms in the conjecture, both of which
are unflawed. Since both of these are equally likely, we will choose
arbitrarily. We will induct according to the following scheme:
(AND (IMPLIES (ZEROP A) (P A B))
(IMPLIES (AND (NOT (ZEROP A)) (P (SUB1 A) B))
(P A B))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of
ZEROP establish that the measure (COUNT A) decreases according to the
well-founded relation LESSP in each induction step of the scheme.
The above induction scheme produces the following two new formulas:
Case 2. (IMPLIES (ZEROP A)
(EQUAL (EVEN3 (TIMES A B))
(OR (EVEN3 A) (EVEN3 B)))),
which simplifies, rewriting with TIMES-IDENTITY and EQUAL-TIMES-0,
and opening up the functions ZEROP, EQUAL, EVEN3, and OR, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP A))
(EQUAL (EVEN3 (TIMES (SUB1 A) B))
(OR (EVEN3 (SUB1 A)) (EVEN3 B))))
(EQUAL (EVEN3 (TIMES A B))
(OR (EVEN3 A) (EVEN3 B)))).
This simplifies, applying COMMUTATIVITY-OF-TIMES, and unfolding the
definitions of ZEROP, OR, and EVEN3, to two new goals:
Case 1.2.
(IMPLIES (AND (NOT (EQUAL A 0))
(NUMBERP A)
(NOT (EVEN3 (SUB1 A)))
(EQUAL (EVEN3 (TIMES B (SUB1 A)))
(EVEN3 B)))
(EVEN3 (TIMES A B))).
Applying the lemma SUB1-ELIM, we now replace A by (ADD1 X) to
eliminate (SUB1 A). We rely upon the type restriction lemma
noted when SUB1 was introduced to constrain the new variable. We
would thus like to prove the new formula:
(IMPLIES (AND (NUMBERP X)
(NOT (EQUAL (ADD1 X) 0))
(NOT (EVEN3 X))
(EQUAL (EVEN3 (TIMES B X)) (EVEN3 B)))
(EVEN3 (TIMES (ADD1 X) B))).
This further simplifies, rewriting with TIMES-ADD1,
COMMUTATIVITY-OF-TIMES, and EVEN3-PLUS, to:
T.
Case 1.1.
(IMPLIES (AND (NOT (EQUAL A 0))
(NUMBERP A)
(EVEN3 (SUB1 A))
(EQUAL (EVEN3 (TIMES B (SUB1 A))) T))
(EQUAL (EVEN3 (TIMES A B))
(EVEN3 B))),
which again simplifies, trivially, to:
(IMPLIES (AND (NOT (EQUAL A 0))
(NUMBERP A)
(EVEN3 (SUB1 A))
(EVEN3 (TIMES B (SUB1 A))))
(EQUAL (EVEN3 (TIMES A B))
(EVEN3 B))).
Appealing to the lemma SUB1-ELIM, we now replace A by (ADD1 X) to
eliminate (SUB1 A). We employ the type restriction lemma noted
when SUB1 was introduced to restrict the new variable. We would
thus like to prove the formula:
(IMPLIES (AND (NUMBERP X)
(NOT (EQUAL (ADD1 X) 0))
(EVEN3 X)
(EVEN3 (TIMES B X)))
(EQUAL (EVEN3 (TIMES (ADD1 X) B))
(EVEN3 B))),
which we further simplify, rewriting with TIMES-ADD1,
COMMUTATIVITY-OF-TIMES, and EVEN3-PLUS, to:
T.
That finishes the proof of *1. Q.E.D.
[ 5.2438802 0.56015625 ]
EVEN3-TIMES
(PROVE-LEMMA EVEN3-REM
(REWRITE)
(IMPLIES (NOT (EVEN3 P))
(EQUAL (EVEN3 (DIFFERENCE P (REMAINDER X P)))
(NOT (EVEN3 (REMAINDER X P))))))
This conjecture simplifies, opening up NOT, to the following two new
goals:
Case 2. (IMPLIES (AND (NOT (EVEN3 P))
(NOT (EVEN3 (REMAINDER X P))))
(EQUAL (EVEN3 (DIFFERENCE P (REMAINDER X P)))
T)),
which we again simplify, clearly, to:
(IMPLIES (AND (NOT (EVEN3 P))
(NOT (EVEN3 (REMAINDER X P))))
(EVEN3 (DIFFERENCE P (REMAINDER X P)))).
Appealing to the lemmas REMAINDER-QUOTIENT-ELIM and DIFFERENCE-ELIM,
we now replace X by (PLUS Z (TIMES P V)) to eliminate
(REMAINDER X P) and (QUOTIENT X P) and P by (PLUS Z W) to eliminate
(DIFFERENCE P Z). We rely upon LESSP-REMAINDER2, the type
restriction lemma noted when REMAINDER was introduced, the type
restriction lemma noted when QUOTIENT was introduced, and the type
restriction lemma noted when DIFFERENCE was introduced to restrict
the new variables. We must thus prove five new goals:
Case 2.5.
(IMPLIES (AND (NOT (NUMBERP X))
(NOT (EVEN3 P))
(NOT (EVEN3 (REMAINDER X P))))
(EVEN3 (DIFFERENCE P (REMAINDER X P)))),
which we further simplify, expanding the functions LESSP,
REMAINDER, and EVEN3, to:
T.
Case 2.4.
(IMPLIES (AND (EQUAL P 0)
(NOT (EVEN3 P))
(NOT (EVEN3 (REMAINDER X P))))
(EVEN3 (DIFFERENCE P (REMAINDER X P)))).
However this simplifies further, unfolding EVEN3, to:
T.
Case 2.3.
(IMPLIES (AND (NOT (NUMBERP P))
(NOT (EVEN3 P))
(NOT (EVEN3 (REMAINDER X P))))
(EVEN3 (DIFFERENCE P (REMAINDER X P)))).
But this further simplifies, unfolding the definition of EVEN3,
to:
T.
Case 2.2.
(IMPLIES (AND (LESSP P Z)
(NUMBERP Z)
(EQUAL (LESSP Z P) (NOT (ZEROP P)))
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(NOT (EVEN3 P))
(NOT (EVEN3 Z)))
(EVEN3 (DIFFERENCE P Z))),
which we further simplify, using linear arithmetic, rewriting
with DIFFERENCE-0, and opening up ZEROP, NOT, and DIFFERENCE, to
two new conjectures:
Case 2.2.2.
(IMPLIES (AND (LESSP P Z)
(NUMBERP Z)
(LESSP Z P)
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(NOT (EVEN3 P))
(NOT (EVEN3 Z)))
(EVEN3 0)),
which we again simplify, using linear arithmetic, to:
T.
Case 2.2.1.
(IMPLIES (AND (LESSP P Z)
(NUMBERP Z)
(LESSP Z P)
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(NOT (EVEN3 P))
(NOT (EVEN3 Z)))
(NOT (EQUAL Z 0))),
which we again simplify, using linear arithmetic, to:
T.
Case 2.1.
(IMPLIES (AND (NUMBERP W)
( LEQ Z (PLUS Z W))
(NUMBERP Z)
(EQUAL (LESSP Z (PLUS Z W))
(NOT (ZEROP (PLUS Z W))))
(NUMBERP V)
(NOT (EQUAL (PLUS Z W) 0))
(NOT (EVEN3 (PLUS Z W)))
(NOT (EVEN3 Z)))
(EVEN3 W)),
which further simplifies, applying COMMUTATIVITY-OF-PLUS,
LESSP-PLUS-CANCELLATION3, PLUS-EQUAL-0, and EVEN3-PLUS, and
expanding ZEROP, NOT, EQUAL, PLUS, and EVEN3, to:
T.
Case 1. (IMPLIES (AND (NOT (EVEN3 P))
(EVEN3 (REMAINDER X P)))
(EQUAL (EVEN3 (DIFFERENCE P (REMAINDER X P)))
F)),
which again simplifies, trivially, to:
(IMPLIES (AND (NOT (EVEN3 P))
(EVEN3 (REMAINDER X P)))
(NOT (EVEN3 (DIFFERENCE P (REMAINDER X P))))).
Appealing to the lemmas REMAINDER-QUOTIENT-ELIM and DIFFERENCE-ELIM,
we now replace X by (PLUS Z (TIMES P V)) to eliminate
(REMAINDER X P) and (QUOTIENT X P) and P by (PLUS Z W) to eliminate
(DIFFERENCE P Z). We employ LESSP-REMAINDER2, the type restriction
lemma noted when REMAINDER was introduced, the type restriction
lemma noted when QUOTIENT was introduced, and the type restriction
lemma noted when DIFFERENCE was introduced to restrict the new
variables. We would thus like to prove five new conjectures:
Case 1.5.
(IMPLIES (AND (NOT (NUMBERP X))
(NOT (EVEN3 P))
(EVEN3 (REMAINDER X P)))
(NOT (EVEN3 (DIFFERENCE P (REMAINDER X P))))),
which we further simplify, opening up LESSP, REMAINDER, EVEN3,
EQUAL, and DIFFERENCE, to two new conjectures:
Case 1.5.2.
(IMPLIES (AND (NOT (NUMBERP X))
(NOT (EVEN3 P))
(NOT (NUMBERP P)))
(NOT (EVEN3 0))).
However this again simplifies, expanding the function EVEN3, to:
T.
Case 1.5.1.
(IMPLIES (AND (NOT (NUMBERP X))
(NOT (EVEN3 P))
(EQUAL P 0))
(NOT (EVEN3 0))),
which again simplifies, trivially, to:
T.
Case 1.4.
(IMPLIES (AND (EQUAL P 0)
(NOT (EVEN3 P))
(EVEN3 (REMAINDER X P)))
(NOT (EVEN3 (DIFFERENCE P (REMAINDER X P))))).
This simplifies further, opening up the definition of EVEN3, to:
T.
Case 1.3.
(IMPLIES (AND (NOT (NUMBERP P))
(NOT (EVEN3 P))
(EVEN3 (REMAINDER X P)))
(NOT (EVEN3 (DIFFERENCE P (REMAINDER X P))))),
which we further simplify, expanding the function EVEN3, to:
T.
Case 1.2.
(IMPLIES (AND (LESSP P Z)
(NUMBERP Z)
(EQUAL (LESSP Z P) (NOT (ZEROP P)))
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(NOT (EVEN3 P))
(EVEN3 Z))
(NOT (EVEN3 (DIFFERENCE P Z)))),
which we further simplify, using linear arithmetic, applying the
lemma DIFFERENCE-0, and opening up the definitions of ZEROP, NOT,
and DIFFERENCE, to:
(IMPLIES (AND (LESSP P Z)
(NUMBERP Z)
(LESSP Z P)
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(NOT (EVEN3 P))
(EVEN3 Z)
(NOT (EQUAL Z 0)))
(NOT (EVEN3 0))),
which we again simplify, using linear arithmetic, to:
T.
Case 1.1.
(IMPLIES (AND (NUMBERP W)
( LEQ Z (PLUS Z W))
(NUMBERP Z)
(EQUAL (LESSP Z (PLUS Z W))
(NOT (ZEROP (PLUS Z W))))
(NUMBERP V)
(NOT (EQUAL (PLUS Z W) 0))
(NOT (EVEN3 (PLUS Z W)))
(EVEN3 Z))
(NOT (EVEN3 W))).
However this further simplifies, applying COMMUTATIVITY-OF-PLUS,
LESSP-PLUS-CANCELLATION3, PLUS-EQUAL-0, and EVEN3-PLUS, and
opening up the definitions of ZEROP, NOT, EQUAL, and PLUS, to:
T.
Q.E.D.
[ 34.1822915 0.73554687 ]
EVEN3-REM
(PROVE-LEMMA EVEN3-REM-REFLECT
(REWRITE)
(IMPLIES (NOT (EVEN3 P))
(EQUAL (RES1 N A P)
(IFF (EVEN3 (PLUS-LIST (REM-LIST N A P)))
(EVEN3 (PLUS-LIST (REFLECT-LIST N A P)))))))
This simplifies, opening up the function IFF, to the following three
new goals:
Case 3. (IMPLIES (AND (NOT (EVEN3 P))
(NOT (EVEN3 (PLUS-LIST (REM-LIST N A P))))
(EVEN3 (PLUS-LIST (REFLECT-LIST N A P))))
(EQUAL (RES1 N A P) F)),
which again simplifies, trivially, to:
(IMPLIES (AND (NOT (EVEN3 P))
(NOT (EVEN3 (PLUS-LIST (REM-LIST N A P))))
(EVEN3 (PLUS-LIST (REFLECT-LIST N A P))))
(NOT (RES1 N A P))),
which we will name *1.
Case 2. (IMPLIES (AND (NOT (EVEN3 P))
(NOT (EVEN3 (PLUS-LIST (REM-LIST N A P))))
(NOT (EVEN3 (PLUS-LIST (REFLECT-LIST N A P)))))
(EQUAL (RES1 N A P) T)).
This again simplifies, trivially, to:
(IMPLIES (AND (NOT (EVEN3 P))
(NOT (EVEN3 (PLUS-LIST (REM-LIST N A P))))
(NOT (EVEN3 (PLUS-LIST (REFLECT-LIST N A P)))))
(RES1 N A P)),
which we would usually push and work on later by induction. But if
we must use induction to prove the input conjecture, we prefer to
induct on the original formulation of the problem. Thus we will
disregard all that we have previously done, give the name *1 to the
original input, and work on it.
So now let us return to:
(IMPLIES (NOT (EVEN3 P))
(EQUAL (RES1 N A P)
(IFF (EVEN3 (PLUS-LIST (REM-LIST N A P)))
(EVEN3 (PLUS-LIST (REFLECT-LIST N A P)))))).
We named this *1. Let us appeal to the induction principle. Four
inductions are suggested by terms in the conjecture. They merge into
two likely candidate inductions. However, only one is unflawed. We
will induct according to the following scheme:
(AND (IMPLIES (ZEROP N) (P N A P))
(IMPLIES (AND (NOT (ZEROP N))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(P (SUB1 N) A P))
(P N A P))
(IMPLIES (AND (NOT (ZEROP N))
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2))
(P (SUB1 N) A P))
(P N A P))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of
ZEROP establish that the measure (COUNT N) decreases according to the
well-founded relation LESSP in each induction step of the scheme.
The above induction scheme produces the following three new formulas:
Case 3. (IMPLIES
(AND (ZEROP N) (NOT (EVEN3 P)))
(EQUAL (RES1 N A P)
(IFF (EVEN3 (PLUS-LIST (REM-LIST N A P)))
(EVEN3 (PLUS-LIST (REFLECT-LIST N A P)))))),
which simplifies, unfolding the functions ZEROP, EQUAL, RES1,
REM-LIST, PLUS-LIST, EVEN3, REFLECT-LIST, and IFF, to:
T.
Case 2. (IMPLIES
(AND
(NOT (ZEROP N))
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(EQUAL
(RES1 (SUB1 N) A P)
(IFF (EVEN3 (PLUS-LIST (REM-LIST (SUB1 N) A P)))
(EVEN3 (PLUS-LIST (REFLECT-LIST (SUB1 N) A P)))))
(NOT (EVEN3 P)))
(EQUAL (RES1 N A P)
(IFF (EVEN3 (PLUS-LIST (REM-LIST N A P)))
(EVEN3 (PLUS-LIST (REFLECT-LIST N A P)))))).
This simplifies, rewriting with CDR-CONS, CAR-CONS, EVEN3-PLUS,
COMMUTATIVITY-OF-PLUS, and EVEN3-REM, and expanding ZEROP, IFF,
RES1, REM-LIST, PLUS-LIST, REFLECT-LIST, REFLECT, and EQUAL, to
four new formulas:
Case 2.4.
(IMPLIES
(AND
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(EVEN3 (PLUS-LIST (REM-LIST (SUB1 N) A P)))
(EQUAL (RES1 (SUB1 N) A P)
(EVEN3 (PLUS-LIST (REFLECT-LIST (SUB1 N) A P))))
(NOT (EVEN3 P))
(NOT (EVEN3 (REMAINDER (TIMES A N) P)))
(NOT (RES1 (SUB1 N) A P)))
(EQUAL T
(IFF (EVEN3 (REMAINDER (TIMES A N) P))
(EQUAL (RES1 (SUB1 N) A P) T)))),
which we again simplify, expanding the definitions of EQUAL and
IFF, to:
T.
Case 2.3.
(IMPLIES
(AND
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(EVEN3 (PLUS-LIST (REM-LIST (SUB1 N) A P)))
(EQUAL (RES1 (SUB1 N) A P)
(EVEN3 (PLUS-LIST (REFLECT-LIST (SUB1 N) A P))))
(NOT (EVEN3 P))
(NOT (EVEN3 (REMAINDER (TIMES A N) P)))
(RES1 (SUB1 N) A P))
(EQUAL F
(IFF (EVEN3 (REMAINDER (TIMES A N) P))
(EQUAL (RES1 (SUB1 N) A P) T)))),
which we again simplify, opening up EQUAL and IFF, to:
T.
Case 2.2.
(IMPLIES
(AND
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(EVEN3 (PLUS-LIST (REM-LIST (SUB1 N) A P)))
(EQUAL (RES1 (SUB1 N) A P)
(EVEN3 (PLUS-LIST (REFLECT-LIST (SUB1 N) A P))))
(NOT (EVEN3 P))
(EVEN3 (REMAINDER (TIMES A N) P))
(NOT (RES1 (SUB1 N) A P)))
(EQUAL T
(IFF (EVEN3 (REMAINDER (TIMES A N) P))
(EQUAL (RES1 (SUB1 N) A P) F)))),
which again simplifies, expanding the definitions of EQUAL and
IFF, to:
T.
Case 2.1.
(IMPLIES
(AND
(NOT (EQUAL N 0))
(NUMBERP N)
(LESSP (QUOTIENT P 2)
(REMAINDER (TIMES A N) P))
(EVEN3 (PLUS-LIST (REM-LIST (SUB1 N) A P)))
(EQUAL (RES1 (SUB1 N) A P)
(EVEN3 (PLUS-LIST (REFLECT-LIST (SUB1 N) A P))))
(NOT (EVEN3 P))
(EVEN3 (REMAINDER (TIMES A N) P))
(RES1 (SUB1 N) A P))
(EQUAL F
(IFF (EVEN3 (REMAINDER (TIMES A N) P))
(EQUAL (RES1 (SUB1 N) A P) F)))),
which we again simplify, expanding the functions EQUAL and IFF,
to:
T.
Case 1. (IMPLIES
(AND
(NOT (ZEROP N))
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2))
(EQUAL
(RES1 (SUB1 N) A P)
(IFF (EVEN3 (PLUS-LIST (REM-LIST (SUB1 N) A P)))
(EVEN3 (PLUS-LIST (REFLECT-LIST (SUB1 N) A P)))))
(NOT (EVEN3 P)))
(EQUAL (RES1 N A P)
(IFF (EVEN3 (PLUS-LIST (REM-LIST N A P)))
(EVEN3 (PLUS-LIST (REFLECT-LIST N A P)))))),
which simplifies, rewriting with the lemmas CDR-CONS, CAR-CONS, and
EVEN3-PLUS, and unfolding the definitions of ZEROP, IFF, RES1,
REM-LIST, PLUS-LIST, REFLECT-LIST, and EQUAL, to three new
conjectures:
Case 1.3.
(IMPLIES
(AND
(NOT (EQUAL N 0))
(NUMBERP N)
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2))
(EVEN3 (PLUS-LIST (REM-LIST (SUB1 N) A P)))
(EQUAL (RES1 (SUB1 N) A P)
(EVEN3 (PLUS-LIST (REFLECT-LIST (SUB1 N) A P))))
(NOT (EVEN3 P))
(NOT (EVEN3 (REMAINDER (TIMES A N) P)))
(EQUAL (EVEN3 (REMAINDER (TIMES A N) P))
(RES1 (SUB1 N) A P)))
(EQUAL (RES1 (SUB1 N) A P) F)),
which we again simplify, trivially, to:
T.
Case 1.2.
(IMPLIES
(AND
(NOT (EQUAL N 0))
(NUMBERP N)
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2))
(EVEN3 (PLUS-LIST (REM-LIST (SUB1 N) A P)))
(EQUAL (RES1 (SUB1 N) A P)
(EVEN3 (PLUS-LIST (REFLECT-LIST (SUB1 N) A P))))
(NOT (EVEN3 P))
(NOT (EVEN3 (REMAINDER (TIMES A N) P)))
(NOT (EQUAL (EVEN3 (REMAINDER (TIMES A N) P))
(RES1 (SUB1 N) A P))))
(EQUAL (RES1 (SUB1 N) A P) T)).
This simplifies again, trivially, to:
T.
Case 1.1.
(IMPLIES
(AND
(NOT (EQUAL N 0))
(NUMBERP N)
( LEQ
(REMAINDER (TIMES A N) P)
(QUOTIENT P 2))
(EVEN3 (PLUS-LIST (REM-LIST (SUB1 N) A P)))
(EQUAL (RES1 (SUB1 N) A P)
(EVEN3 (PLUS-LIST (REFLECT-LIST (SUB1 N) A P))))
(NOT (EVEN3 P))
(EVEN3 (REMAINDER (TIMES A N) P)))
(EQUAL (RES1 (SUB1 N) A P)
(EQUAL (EVEN3 (REMAINDER (TIMES A N) P))
(RES1 (SUB1 N) A P)))),
which again simplifies, clearly, to:
T.
That finishes the proof of *1. Q.E.D.
[ 282.28112 0.81393229 ]
EVEN3-REM-REFLECT
(PROVE-LEMMA PERM-PLUS-LIST-1
(REWRITE)
(IMPLIES (MEMBER X M)
(EQUAL (PLUS X (PLUS-LIST (DELETE X M)))
(PLUS-LIST M))))
Name the conjecture *1.
We will try to prove it by induction. Four inductions are
suggested by terms in the conjecture. They merge into two likely
candidate inductions. However, only one is unflawed. We will induct
according to the following scheme:
(AND (IMPLIES (NLISTP M) (P X M))
(IMPLIES (AND (NOT (NLISTP M))
(EQUAL X (CAR M)))
(P X M))
(IMPLIES (AND (NOT (NLISTP M))
(NOT (EQUAL X (CAR M)))
(P X (CDR M)))
(P X M))).
Linear arithmetic, the lemmas CDR-LESSEQP and CDR-LESSP, and the
definition of NLISTP can be used to prove that the measure (COUNT M)
decreases according to the well-founded relation LESSP in each
induction step of the scheme. The above induction scheme produces
four new formulas:
Case 4. (IMPLIES (AND (NLISTP M) (MEMBER X M))
(EQUAL (PLUS X (PLUS-LIST (DELETE X M)))
(PLUS-LIST M))).
This simplifies, opening up the definitions of NLISTP and MEMBER,
to:
T.
Case 3. (IMPLIES (AND (NOT (NLISTP M))
(EQUAL X (CAR M))
(MEMBER X M))
(EQUAL (PLUS X (PLUS-LIST (DELETE X M)))
(PLUS-LIST M))),
which we simplify, opening up NLISTP, MEMBER, DELETE, and PLUS-LIST,
to:
T.
Case 2. (IMPLIES (AND (NOT (NLISTP M))
(NOT (EQUAL X (CAR M)))
(NOT (MEMBER X (CDR M)))
(MEMBER X M))
(EQUAL (PLUS X (PLUS-LIST (DELETE X M)))
(PLUS-LIST M))),
which we simplify, unfolding NLISTP and MEMBER, to:
T.
Case 1. (IMPLIES (AND (NOT (NLISTP M))
(NOT (EQUAL X (CAR M)))
(EQUAL (PLUS X
(PLUS-LIST (DELETE X (CDR M))))
(PLUS-LIST (CDR M)))
(MEMBER X M))
(EQUAL (PLUS X (PLUS-LIST (DELETE X M)))
(PLUS-LIST M))).
This simplifies, rewriting with the lemmas CDR-CONS, CAR-CONS, and
CORRECTNESS-OF-CANCEL, and expanding NLISTP, MEMBER, DELETE,
PLUS-LIST, and FIX, to:
T.
That finishes the proof of *1. Q.E.D.
[ 3.54244792 0.254557293 ]
PERM-PLUS-LIST-1
(PROVE-LEMMA PERM-PLUS-LIST NIL
(IMPLIES (PERM L M)
(EQUAL (PLUS-LIST L) (PLUS-LIST M))))
Give the conjecture the name *1.
We will appeal to induction. There are four plausible
inductions. They merge into two likely candidate inductions, both of
which are unflawed. So we will choose the one suggested by the
largest number of nonprimitive recursive functions. We will induct
according to the following scheme:
(AND (IMPLIES (NLISTP L) (P L M))
(IMPLIES (AND (NOT (NLISTP L))
(MEMBER (CAR L) M)
(P (CDR L) (DELETE (CAR L) M)))
(P L M))
(IMPLIES (AND (NOT (NLISTP L))
(NOT (MEMBER (CAR L) M)))
(P L M))).
Linear arithmetic, the lemmas CDR-LESSEQP and CDR-LESSP, and the
definition of NLISTP can be used to establish that the measure
(COUNT L) decreases according to the well-founded relation LESSP in
each induction step of the scheme. Note, however, the inductive
instance chosen for M. The above induction scheme produces four new
conjectures:
Case 4. (IMPLIES (AND (NLISTP L) (PERM L M))
(EQUAL (PLUS-LIST L) (PLUS-LIST M))).
This simplifies, opening up the functions NLISTP, PERM, PLUS-LIST,
and EQUAL, to:
T.
Case 3. (IMPLIES (AND (NOT (NLISTP L))
(MEMBER (CAR L) M)
(NOT (PERM (CDR L) (DELETE (CAR L) M)))
(PERM L M))
(EQUAL (PLUS-LIST L) (PLUS-LIST M))),
which simplifies, rewriting with PERM-MEMBER, and expanding the
functions NLISTP, MEMBER, and PERM, to:
T.
Case 2. (IMPLIES (AND (NOT (NLISTP L))
(MEMBER (CAR L) M)
(EQUAL (PLUS-LIST (CDR L))
(PLUS-LIST (DELETE (CAR L) M)))
(PERM L M))
(EQUAL (PLUS-LIST L) (PLUS-LIST M))),
which we simplify, applying PERM-MEMBER, and opening up NLISTP,
MEMBER, PERM, and PLUS-LIST, to:
(IMPLIES (AND (LISTP L)
(EQUAL (PLUS-LIST (CDR L))
(PLUS-LIST (DELETE (CAR L) M)))
(MEMBER (CAR L) M)
(PERM (CDR L) (DELETE (CAR L) M)))
(EQUAL (PLUS (CAR L) (PLUS-LIST (CDR L)))
(PLUS-LIST M))).
Applying the lemma CAR-CDR-ELIM, replace L by (CONS Z X) to
eliminate (CDR L) and (CAR L). This produces the goal:
(IMPLIES (AND (EQUAL (PLUS-LIST X)
(PLUS-LIST (DELETE Z M)))
(MEMBER Z M)
(PERM X (DELETE Z M)))
(EQUAL (PLUS Z (PLUS-LIST X))
(PLUS-LIST M))).
We now use the above equality hypothesis by substituting
(PLUS-LIST (DELETE Z M)) for (PLUS-LIST X) and throwing away the
equality. The result is:
(IMPLIES (AND (MEMBER Z M)
(PERM X (DELETE Z M)))
(EQUAL (PLUS Z (PLUS-LIST (DELETE Z M)))
(PLUS-LIST M))),
which we further simplify, rewriting with the lemma
PERM-PLUS-LIST-1, to:
T.
Case 1. (IMPLIES (AND (NOT (NLISTP L))
(NOT (MEMBER (CAR L) M))
(PERM L M))
(EQUAL (PLUS-LIST L) (PLUS-LIST M))),
which simplifies, applying PERM-MEMBER, and expanding the functions
NLISTP and MEMBER, to:
T.
That finishes the proof of *1. Q.E.D.
[ 6.35716146 0.38984375 ]
PERM-PLUS-LIST
(PROVE-LEMMA EVEN3-EVEN NIL
(EQUAL (DIVIDES 2. P) (EVEN3 P)))
This formula can be simplified, using the abbreviation DIVIDES, to:
(EQUAL (EQUAL (REMAINDER P 2) 0)
(EVEN3 P)).
This simplifies, trivially, to two new formulas:
Case 2. (IMPLIES (NOT (EQUAL (REMAINDER P 2) 0))
(NOT (EVEN3 P))).
This again simplifies, using linear arithmetic, applying
LESSP-REMAINDER-DIVISOR, and expanding the definition of EQUAL, to
the formula:
(IMPLIES (AND (EQUAL (REMAINDER P 2) 1)
(NOT (EQUAL 1 0)))
(NOT (EVEN3 P))),
which again simplifies, unfolding the function EQUAL, to the
formula:
(IMPLIES (EQUAL (REMAINDER P 2) 1)
(NOT (EVEN3 P))).
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace P by
(PLUS X (TIMES 2 Z)) to eliminate (REMAINDER P 2) and
(QUOTIENT P 2). We rely upon LESSP-REMAINDER2, the type
restriction lemma noted when REMAINDER was introduced, and the type
restriction lemma noted when QUOTIENT was introduced to constrain
the new variables. We thus obtain four new conjectures:
Case 2.4.
(IMPLIES (AND (NOT (NUMBERP P))
(EQUAL (REMAINDER P 2) 1))
(NOT (EVEN3 P))).
This simplifies further, opening up LESSP, NUMBERP, EQUAL, and
REMAINDER, to:
T.
Case 2.3.
(IMPLIES (AND (EQUAL 2 0)
(EQUAL (REMAINDER P 2) 1))
(NOT (EVEN3 P))),
which further simplifies, using linear arithmetic, to:
T.
Case 2.2.
(IMPLIES (AND (NOT (NUMBERP 2))
(EQUAL (REMAINDER P 2) 1))
(NOT (EVEN3 P))),
which further simplifies, obviously, to:
T.
Case 2.1.
(IMPLIES (AND (NUMBERP X)
(EQUAL (LESSP X 2) (NOT (ZEROP 2)))
(NUMBERP Z)
(NOT (EQUAL 2 0))
(EQUAL X 1))
(NOT (EVEN3 (PLUS X (TIMES 2 Z))))),
which further simplifies, rewriting with the lemmas TIMES-2 and
EVEN3-PLUS, and expanding the functions NUMBERP, LESSP, ZEROP,
NOT, EQUAL, and EVEN3, to:
T.
Case 1. (IMPLIES (EQUAL (REMAINDER P 2) 0)
(EQUAL (EVEN3 P) T)),
which again simplifies, clearly, to the formula:
(IMPLIES (EQUAL (REMAINDER P 2) 0)
(EVEN3 P)).
Applying the lemma REMAINDER-QUOTIENT-ELIM, we now replace P by
(PLUS X (TIMES 2 Z)) to eliminate (REMAINDER P 2) and
(QUOTIENT P 2). We employ LESSP-REMAINDER2, the type restriction
lemma noted when REMAINDER was introduced, and the type restriction
lemma noted when QUOTIENT was introduced to constrain the new
variables. We would thus like to prove the following four new
formulas:
Case 1.4.
(IMPLIES (AND (NOT (NUMBERP P))
(EQUAL (REMAINDER P 2) 0))
(EVEN3 P)).
This further simplifies, expanding the functions LESSP, NUMBERP,
EQUAL, REMAINDER, and EVEN3, to:
T.
Case 1.3.
(IMPLIES (AND (EQUAL 2 0)
(EQUAL (REMAINDER P 2) 0))
(EVEN3 P)),
which further simplifies, using linear arithmetic, to:
T.
Case 1.2.
(IMPLIES (AND (NOT (NUMBERP 2))
(EQUAL (REMAINDER P 2) 0))
(EVEN3 P)),
which we further simplify, trivially, to:
T.
Case 1.1.
(IMPLIES (AND (NUMBERP X)
(EQUAL (LESSP X 2) (NOT (ZEROP 2)))
(NUMBERP Z)
(NOT (EQUAL 2 0))
(EQUAL X 0))
(EVEN3 (PLUS X (TIMES 2 Z)))).
But this simplifies further, applying TIMES-2 and EVEN3-PLUS, and
opening up the definitions of NUMBERP, LESSP, ZEROP, NOT, EQUAL,
and EVEN3, to:
T.
Q.E.D.
[ 19.2173178 0.43763021 ]
EVEN3-EVEN
(PROVE-LEMMA PLUS-REFLECT-LIST
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P A))
(NOT (EVEN3 P)))
(EQUAL (PLUS-LIST (REFLECT-LIST (QUOTIENT P 2.) A P))
(PLUS-LIST (POSITIVES (QUOTIENT P 2.)))))
((USE (PERM-PLUS-LIST (M (REFLECT-LIST (QUOTIENT P 2.) A P))
(L (POSITIVES (QUOTIENT P 2.))))
(PIGEON-HOLE-PRINCIPLE (L (REFLECT-LIST (QUOTIENT P 2.) A P)))
(EVEN3-EVEN)
(ALL-NON-ZEROP-REFLECT-LIST (B (QUOTIENT P 2.))))
(DISABLE PRIME)))
This conjecture can be simplified, using the abbreviations NOT,
IMPLIES, AND, and DIVIDES, to the goal:
(IMPLIES
(AND
(IMPLIES
(PERM (POSITIVES (QUOTIENT P 2))
(REFLECT-LIST (QUOTIENT P 2) A P))
(EQUAL (PLUS-LIST (POSITIVES (QUOTIENT P 2)))
(PLUS-LIST (REFLECT-LIST (QUOTIENT P 2) A P))))
(IMPLIES
(AND
(ALL-NON-ZEROP (REFLECT-LIST (QUOTIENT P 2) A P))
(AND
(ALL-DISTINCT (REFLECT-LIST (QUOTIENT P 2) A P))
(ALL-LESSEQP (REFLECT-LIST (QUOTIENT P 2) A P)
(LENGTH (REFLECT-LIST (QUOTIENT P 2) A P)))))
(PERM (POSITIVES (LENGTH (REFLECT-LIST (QUOTIENT P 2) A P)))
(REFLECT-LIST (QUOTIENT P 2) A P)))
(EQUAL (EQUAL (REMAINDER P 2) 0)
(EVEN3 P))
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER A P) 0))
(LESSP (QUOTIENT P 2) P)))
(ALL-NON-ZEROP (REFLECT-LIST (QUOTIENT P 2) A P)))
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EVEN3 P)))
(EQUAL (PLUS-LIST (REFLECT-LIST (QUOTIENT P 2) A P))
(PLUS-LIST (POSITIVES (QUOTIENT P 2))))),
which simplifies, applying the lemmas LENGTH-REFLECT-LIST,
ALL-LESSEQP-REFLECT-LIST, LESSP-QUOTIENT1, and REMAINDER-WRT-12, and
expanding the definitions of IMPLIES, AND, NOT, EQUAL, NUMBERP, PRIME,
and EVEN3, to:
(IMPLIES
(AND (NOT (PERM (POSITIVES (QUOTIENT P 2))
(REFLECT-LIST (QUOTIENT P 2) A P)))
(NOT (ALL-DISTINCT (REFLECT-LIST (QUOTIENT P 2) A P)))
(NOT (EQUAL (REMAINDER P 2) 0))
(ALL-NON-ZEROP (REFLECT-LIST (QUOTIENT P 2) A P))
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EVEN3 P)))
(EQUAL (PLUS-LIST (REFLECT-LIST (QUOTIENT P 2) A P))
(PLUS-LIST (POSITIVES (QUOTIENT P 2))))).
But this simplifies again, using linear arithmetic, rewriting with
LESSP-REMAINDER-DIVISOR, and unfolding the definition of EQUAL, to
the new conjecture:
(IMPLIES
(AND (EQUAL (REMAINDER P 2) 1)
(NOT (PERM (POSITIVES (QUOTIENT P 2))
(REFLECT-LIST (QUOTIENT P 2) A P)))
(NOT (ALL-DISTINCT (REFLECT-LIST (QUOTIENT P 2) A P)))
(NOT (EQUAL 1 0))
(ALL-NON-ZEROP (REFLECT-LIST (QUOTIENT P 2) A P))
(PRIME P)
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EVEN3 P)))
(EQUAL (PLUS-LIST (REFLECT-LIST (QUOTIENT P 2) A P))
(PLUS-LIST (POSITIVES (QUOTIENT P 2))))),
which we again simplify, using linear arithmetic, rewriting with
ALL-DISTINCT-REFLECT-LIST, and unfolding the functions DIVIDES and
EQUAL, to:
T.
Q.E.D.
[ 640.18411 1.3639323 ]
PLUS-REFLECT-LIST
(PROVE-LEMMA EQUALS-HAVE-SAME-PARITY NIL
(IMPLIES (EQUAL X Y)
(EQUAL (EVEN3 X) (EVEN3 Y))))
This formula simplifies, clearly, to:
T.
Q.E.D.
[ 0.072265625 0.0108072917 ]
EQUALS-HAVE-SAME-PARITY
(PROVE-LEMMA RES1-QUOT-LIST NIL
(IMPLIES (AND (PRIME P)
(NOT (EVEN3 P))
(NOT (EVEN3 A))
(NOT (DIVIDES P A)))
(EQUAL (RES1 (QUOTIENT P 2.) A P)
(EVEN3 (PLUS-LIST (QUOT-LIST (QUOTIENT P 2.) A P)))))
((USE
(REM-QUOT-LIST (N (QUOTIENT P 2.)))
(EQUALS-HAVE-SAME-PARITY
(X (TIMES A
(PLUS-LIST (POSITIVES (QUOTIENT P 2.)))))
(Y (PLUS (TIMES P
(PLUS-LIST (QUOT-LIST (QUOTIENT P 2.) A P)))
(PLUS-LIST (REM-LIST (QUOTIENT P 2.) A P))))))
(DISABLE PRIME)))
This formula can be simplified, using the abbreviations NOT, IMPLIES,
AND, DIVIDES, and EVEN3-PLUS, to:
(IMPLIES
(AND
(EQUAL
(TIMES A
(PLUS-LIST (POSITIVES (QUOTIENT P 2))))
(PLUS (TIMES P
(PLUS-LIST (QUOT-LIST (QUOTIENT P 2) A P)))
(PLUS-LIST (REM-LIST (QUOTIENT P 2) A P))))
(IMPLIES
(EQUAL
(TIMES A
(PLUS-LIST (POSITIVES (QUOTIENT P 2))))
(PLUS (TIMES P
(PLUS-LIST (QUOT-LIST (QUOTIENT P 2) A P)))
(PLUS-LIST (REM-LIST (QUOTIENT P 2) A P))))
(EQUAL
(EVEN3 (TIMES A
(PLUS-LIST (POSITIVES (QUOTIENT P 2)))))
(EQUAL
(EVEN3 (TIMES P
(PLUS-LIST (QUOT-LIST (QUOTIENT P 2) A P))))
(EVEN3 (PLUS-LIST (REM-LIST (QUOTIENT P 2) A P))))))
(PRIME P)
(NOT (EVEN3 P))
(NOT (EVEN3 A))
(NOT (EQUAL (REMAINDER A P) 0)))
(EQUAL (RES1 (QUOTIENT P 2) A P)
(EVEN3 (PLUS-LIST (QUOT-LIST (QUOTIENT P 2) A P))))).
This simplifies, using linear arithmetic, rewriting with
COMMUTATIVITY-OF-PLUS, EVEN3-TIMES, PLUS-REFLECT-LIST, and
EVEN3-REM-REFLECT, and opening up the definitions of IMPLIES, DIVIDES,
and IFF, to two new conjectures:
Case 2. (IMPLIES
(AND
(EQUAL
(TIMES A
(PLUS-LIST (POSITIVES (QUOTIENT P 2))))
(PLUS (PLUS-LIST (REM-LIST (QUOTIENT P 2) A P))
(TIMES P
(PLUS-LIST (QUOT-LIST (QUOTIENT P 2) A P)))))
(NOT
(EQUAL (EVEN3 (PLUS-LIST (QUOT-LIST (QUOTIENT P 2) A P)))
(EVEN3 (PLUS-LIST (REM-LIST (QUOTIENT P 2) A P)))))
(NOT (EVEN3 (PLUS-LIST (POSITIVES (QUOTIENT P 2)))))
(PRIME P)
(NOT (EVEN3 P))
(NOT (EVEN3 A))
(NOT (EQUAL (REMAINDER A P) 0))
(NOT (EVEN3 (PLUS-LIST (REM-LIST (QUOTIENT P 2) A P)))))
(EQUAL T
(EVEN3 (PLUS-LIST (QUOT-LIST (QUOTIENT P 2) A P))))),
which again simplifies, opening up the definition of EQUAL, to:
T.
Case 1. (IMPLIES
(AND
(EQUAL
(TIMES A
(PLUS-LIST (POSITIVES (QUOTIENT P 2))))
(PLUS (PLUS-LIST (REM-LIST (QUOTIENT P 2) A P))
(TIMES P
(PLUS-LIST (QUOT-LIST (QUOTIENT P 2) A P)))))
(NOT
(EQUAL (EVEN3 (PLUS-LIST (QUOT-LIST (QUOTIENT P 2) A P)))
(EVEN3 (PLUS-LIST (REM-LIST (QUOTIENT P 2) A P)))))
(NOT (EVEN3 (PLUS-LIST (POSITIVES (QUOTIENT P 2)))))
(PRIME P)
(NOT (EVEN3 P))
(NOT (EVEN3 A))
(NOT (EQUAL (REMAINDER A P) 0))
(EVEN3 (PLUS-LIST (REM-LIST (QUOTIENT P 2) A P))))
(EQUAL F
(EVEN3 (PLUS-LIST (QUOT-LIST (QUOTIENT P 2) A P))))).
However this simplifies again, opening up the definition of EQUAL,
to:
T.
Q.E.D.
[ 314.900913 0.241145832 ]
RES1-QUOT-LIST
(DEFN WINS1
(X L)
(IF (NLISTP L)
0.
(IF (LESSP (CAR L) X)
(ADD1 (WINS1 X (CDR L)))
(WINS1 X (CDR L)))))
Linear arithmetic, the lemmas CDR-LESSEQP and CDR-LESSP, and the
definition of NLISTP inform us that the measure (COUNT L) decreases
according to the well-founded relation LESSP in each recursive call.
Hence, WINS1 is accepted under the principle of definition. Observe
that (NUMBERP (WINS1 X L)) is a theorem.
[ 2.26002604 0.0440104166 ]
WINS1
(DEFN WINS
(K L)
(IF (NLISTP K)
0.
(PLUS (WINS1 (CAR K) L)
(WINS (CDR K) L))))
Linear arithmetic, the lemmas CDR-LESSEQP and CDR-LESSP, and the
definition of NLISTP inform us that the measure (COUNT K) decreases
according to the well-founded relation LESSP in each recursive call.
Hence, WINS is accepted under the principle of definition. From the
definition we can conclude that (NUMBERP (WINS K L)) is a theorem.
[ 0.391927082 0.047005208 ]
WINS
(DEFN LOSSES1
(X L)
(IF (NLISTP L)
0.
(IF (LESSP X (CAR L))
(ADD1 (LOSSES1 X (CDR L)))
(LOSSES1 X (CDR L)))))
Linear arithmetic, the lemmas CDR-LESSEQP and CDR-LESSP, and the
definition of NLISTP inform us that the measure (COUNT L) decreases
according to the well-founded relation LESSP in each recursive call.
Hence, LOSSES1 is accepted under the principle of definition.
Observe that (NUMBERP (LOSSES1 X L)) is a theorem.
[ 0.93307292 0.045052083 ]
LOSSES1
(DEFN LOSSES
(K L)
(IF (NLISTP K)
0.
(PLUS (LOSSES1 (CAR K) L)
(LOSSES (CDR K) L))))
Linear arithmetic, the lemmas CDR-LESSEQP and CDR-LESSP, and the
definition of NLISTP inform us that the measure (COUNT K) decreases
according to the well-founded relation LESSP in each recursive call.
Hence, LOSSES is accepted under the principle of definition. From
the definition we can conclude that (NUMBERP (LOSSES K L)) is a
theorem.
[ 0.392057292 0.0479166666 ]
LOSSES
(PROVE-LEMMA WIN-SOME-LOSE-SOME-1
(REWRITE)
(IMPLIES (AND (NOT (MEMBER X L))
(ALL-NON-ZEROP L))
(EQUAL (PLUS (LOSSES1 X L) (WINS1 X L))
(LENGTH L))))
Call the conjecture *1.
Perhaps we can prove it by induction. There are five plausible
inductions. However, they merge into one likely candidate induction.
We will induct according to the following scheme:
(AND (IMPLIES (NLISTP L) (P X L))
(IMPLIES (AND (NOT (NLISTP L))
(EQUAL X (CAR L)))
(P X L))
(IMPLIES (AND (NOT (NLISTP L))
(NOT (EQUAL X (CAR L)))
(P X (CDR L)))
(P X L))).
Linear arithmetic, the lemmas CDR-LESSEQP and CDR-LESSP, and the
definition of NLISTP establish that the measure (COUNT L) decreases
according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme generates the following
five new formulas:
Case 5. (IMPLIES (AND (NLISTP L)
(NOT (MEMBER X L))
(ALL-NON-ZEROP L))
(EQUAL (PLUS (LOSSES1 X L) (WINS1 X L))
(LENGTH L))).
This simplifies, expanding NLISTP, MEMBER, ALL-NON-ZEROP, LOSSES1,
WINS1, PLUS, LENGTH, and EQUAL, to:
T.
Case 4. (IMPLIES (AND (NOT (NLISTP L))
(EQUAL X (CAR L))
(NOT (MEMBER X L))
(ALL-NON-ZEROP L))
(EQUAL (PLUS (LOSSES1 X L) (WINS1 X L))
(LENGTH L))).
This simplifies, opening up the definitions of NLISTP and MEMBER,
to:
T.
Case 3. (IMPLIES (AND (NOT (NLISTP L))
(NOT (EQUAL X (CAR L)))
(MEMBER X (CDR L))
(NOT (MEMBER X L))
(ALL-NON-ZEROP L))
(EQUAL (PLUS (LOSSES1 X L) (WINS1 X L))
(LENGTH L))),
which we simplify, opening up NLISTP and MEMBER, to:
T.
Case 2. (IMPLIES (AND (NOT (NLISTP L))
(NOT (EQUAL X (CAR L)))
(NOT (ALL-NON-ZEROP (CDR L)))
(NOT (MEMBER X L))
(ALL-NON-ZEROP L))
(EQUAL (PLUS (LOSSES1 X L) (WINS1 X L))
(LENGTH L))),
which we simplify, unfolding NLISTP, MEMBER, and ALL-NON-ZEROP, to:
T.
Case 1. (IMPLIES (AND (NOT (NLISTP L))
(NOT (EQUAL X (CAR L)))
(EQUAL (PLUS (LOSSES1 X (CDR L))
(WINS1 X (CDR L)))
(LENGTH (CDR L)))
(NOT (MEMBER X L))
(ALL-NON-ZEROP L))
(EQUAL (PLUS (LOSSES1 X L) (WINS1 X L))
(LENGTH L))).
This simplifies, opening up NLISTP, MEMBER, ALL-NON-ZEROP, LOSSES1,
WINS1, and LENGTH, to the following four new formulas:
Case 1.4.
(IMPLIES (AND (LISTP L)
(NOT (EQUAL X (CAR L)))
(EQUAL (PLUS (LOSSES1 X (CDR L))
(WINS1 X (CDR L)))
(LENGTH (CDR L)))
(NOT (MEMBER X (CDR L)))
(NOT (EQUAL (CAR L) 0))
(NUMBERP (CAR L))
(ALL-NON-ZEROP (CDR L))
( LEQ X (CAR L))
( LEQ (CAR L) X))
(EQUAL (PLUS (LOSSES1 X (CDR L))
(WINS1 X (CDR L)))
(ADD1 (LENGTH (CDR L))))),
which we again simplify, using linear arithmetic, to the new
conjecture:
(IMPLIES (AND (NOT (NUMBERP X))
(LISTP L)
(NOT (EQUAL X (CAR L)))
(EQUAL (PLUS (LOSSES1 X (CDR L))
(WINS1 X (CDR L)))
(LENGTH (CDR L)))
(NOT (MEMBER X (CDR L)))
(NOT (EQUAL (CAR L) 0))
(NUMBERP (CAR L))
(ALL-NON-ZEROP (CDR L))
( LEQ X (CAR L))
( LEQ (CAR L) X))
(EQUAL (PLUS (LOSSES1 X (CDR L))
(WINS1 X (CDR L)))
(ADD1 (LENGTH (CDR L))))).
This simplifies again, opening up LESSP, to:
T.
Case 1.3.
(IMPLIES (AND (LISTP L)
(NOT (EQUAL X (CAR L)))
(EQUAL (PLUS (LOSSES1 X (CDR L))
(WINS1 X (CDR L)))
(LENGTH (CDR L)))
(NOT (MEMBER X (CDR L)))
(NOT (EQUAL (CAR L) 0))
(NUMBERP (CAR L))
(ALL-NON-ZEROP (CDR L))
( LEQ X (CAR L))
(LESSP X (CAR L)))
(EQUAL (PLUS (ADD1 (LOSSES1 X (CDR L)))
(WINS1 X (CDR L)))
(ADD1 (LENGTH (CDR L))))),
which again simplifies, using linear arithmetic, to:
T.
Case 1.2.
(IMPLIES (AND (LISTP L)
(NOT (EQUAL X (CAR L)))
(EQUAL (PLUS (LOSSES1 X (CDR L))
(WINS1 X (CDR L)))
(LENGTH (CDR L)))
(NOT (MEMBER X (CDR L)))
(NOT (EQUAL (CAR L) 0))
(NUMBERP (CAR L))
(ALL-NON-ZEROP (CDR L))
(LESSP (CAR L) X)
( LEQ (CAR L) X))
(EQUAL (PLUS (LOSSES1 X (CDR L))
(ADD1 (WINS1 X (CDR L))))
(ADD1 (LENGTH (CDR L))))),
which again simplifies, using linear arithmetic, to:
T.
Case 1.1.
(IMPLIES (AND (LISTP L)
(NOT (EQUAL X (CAR L)))
(EQUAL (PLUS (LOSSES1 X (CDR L))
(WINS1 X (CDR L)))
(LENGTH (CDR L)))
(NOT (MEMBER X (CDR L)))
(NOT (EQUAL (CAR L) 0))
(NUMBERP (CAR L))
(ALL-NON-ZEROP (CDR L))
(LESSP (CAR L) X)
(LESSP X (CAR L)))
(EQUAL (PLUS (ADD1 (LOSSES1 X (CDR L)))
(ADD1 (WINS1 X (CDR L))))
(ADD1 (LENGTH (CDR L))))),
which we again simplify, using linear arithmetic, to:
T.
That finishes the proof of *1. Q.E.D.
[ 4.3169271 0.537109375 ]
WIN-SOME-LOSE-SOME-1
(PROVE-LEMMA WIN-SOME-LOSE-SOME-2
(REWRITE)
(IMPLIES (AND (NLISTP (INTERSECT L M))
(ALL-NON-ZEROP L)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (WINS L M) (LOSSES L M))
(TIMES (LENGTH L) (LENGTH M)))))
This formula can be simplified, using the abbreviations NLISTP, AND,
and IMPLIES, to:
(IMPLIES (AND (NOT (LISTP (INTERSECT L M)))
(ALL-NON-ZEROP L)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (WINS L M) (LOSSES L M))
(TIMES (LENGTH L) (LENGTH M)))).
This simplifies, rewriting with COMMUTATIVITY-OF-PLUS, to the new
conjecture:
(IMPLIES (AND (NOT (LISTP (INTERSECT L M)))
(ALL-NON-ZEROP L)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (LOSSES L M) (WINS L M))
(TIMES (LENGTH L) (LENGTH M)))).
Call the above conjecture *1.
We will appeal to induction. There are seven plausible
inductions. They merge into two likely candidate inductions.
However, only one is unflawed. We will induct according to the
following scheme:
(AND (IMPLIES (AND (LISTP L)
(MEMBER (CAR L) M)
(P (CDR L) M))
(P L M))
(IMPLIES (AND (LISTP L)
(NOT (MEMBER (CAR L) M))
(P (CDR L) M))
(P L M))
(IMPLIES (NOT (LISTP L)) (P L M))).
Linear arithmetic and the lemma CDR-LESSP establish that the measure
(COUNT L) decreases according to the well-founded relation LESSP in
each induction step of the scheme. The above induction scheme leads
to the following seven new conjectures:
Case 7. (IMPLIES (AND (LISTP L)
(MEMBER (CAR L) M)
(LISTP (INTERSECT (CDR L) M))
(NOT (LISTP (INTERSECT L M)))
(ALL-NON-ZEROP L)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (LOSSES L M) (WINS L M))
(TIMES (LENGTH L) (LENGTH M)))).
This simplifies, expanding the definition of INTERSECT, to:
T.
Case 6. (IMPLIES (AND (LISTP L)
(MEMBER (CAR L) M)
(NOT (ALL-NON-ZEROP (CDR L)))
(NOT (LISTP (INTERSECT L M)))
(ALL-NON-ZEROP L)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (LOSSES L M) (WINS L M))
(TIMES (LENGTH L) (LENGTH M)))),
which simplifies, unfolding the function INTERSECT, to:
T.
Case 5. (IMPLIES (AND (LISTP L)
(MEMBER (CAR L) M)
(EQUAL (PLUS (LOSSES (CDR L) M)
(WINS (CDR L) M))
(TIMES (LENGTH (CDR L)) (LENGTH M)))
(NOT (LISTP (INTERSECT L M)))
(ALL-NON-ZEROP L)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (LOSSES L M) (WINS L M))
(TIMES (LENGTH L) (LENGTH M)))).
This simplifies, appealing to the lemma COMMUTATIVITY-OF-TIMES, and
opening up INTERSECT, to:
T.
Case 4. (IMPLIES (AND (LISTP L)
(NOT (MEMBER (CAR L) M))
(LISTP (INTERSECT (CDR L) M))
(NOT (LISTP (INTERSECT L M)))
(ALL-NON-ZEROP L)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (LOSSES L M) (WINS L M))
(TIMES (LENGTH L) (LENGTH M)))).
This simplifies, expanding INTERSECT, to:
T.
Case 3. (IMPLIES (AND (LISTP L)
(NOT (MEMBER (CAR L) M))
(NOT (ALL-NON-ZEROP (CDR L)))
(NOT (LISTP (INTERSECT L M)))
(ALL-NON-ZEROP L)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (LOSSES L M) (WINS L M))
(TIMES (LENGTH L) (LENGTH M)))),
which we simplify, expanding the definitions of INTERSECT and
ALL-NON-ZEROP, to:
T.
Case 2. (IMPLIES (AND (LISTP L)
(NOT (MEMBER (CAR L) M))
(EQUAL (PLUS (LOSSES (CDR L) M)
(WINS (CDR L) M))
(TIMES (LENGTH (CDR L)) (LENGTH M)))
(NOT (LISTP (INTERSECT L M)))
(ALL-NON-ZEROP L)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (LOSSES L M) (WINS L M))
(TIMES (LENGTH L) (LENGTH M)))),
which we simplify, rewriting with the lemmas COMMUTATIVITY-OF-TIMES,
COMMUTATIVITY-OF-PLUS, ASSOCIATIVITY-OF-PLUS, and TIMES-ADD1, and
unfolding INTERSECT, ALL-NON-ZEROP, LOSSES, WINS, and LENGTH, to:
(IMPLIES (AND (LISTP L)
(NOT (MEMBER (CAR L) M))
(EQUAL (PLUS (LOSSES (CDR L) M)
(WINS (CDR L) M))
(TIMES (LENGTH M) (LENGTH (CDR L))))
(NOT (LISTP (INTERSECT (CDR L) M)))
(NOT (EQUAL (CAR L) 0))
(NUMBERP (CAR L))
(ALL-NON-ZEROP (CDR L))
(ALL-NON-ZEROP M))
(EQUAL (PLUS (LOSSES (CDR L) M)
(PLUS (LOSSES1 (CAR L) M)
(PLUS (WINS (CDR L) M)
(WINS1 (CAR L) M))))
(PLUS (LENGTH M)
(TIMES (LENGTH M)
(LENGTH (CDR L)))))).
Appealing to the lemma CAR-CDR-ELIM, we now replace L by (CONS X Z)
to eliminate (CAR L) and (CDR L). We would thus like to prove:
(IMPLIES (AND (NOT (MEMBER X M))
(EQUAL (PLUS (LOSSES Z M) (WINS Z M))
(TIMES (LENGTH M) (LENGTH Z)))
(NOT (LISTP (INTERSECT Z M)))
(NOT (EQUAL X 0))
(NUMBERP X)
(ALL-NON-ZEROP Z)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (LOSSES Z M)
(PLUS (LOSSES1 X M)
(PLUS (WINS Z M) (WINS1 X M))))
(PLUS (LENGTH M)
(TIMES (LENGTH M) (LENGTH Z))))).
We use the above equality hypothesis by substituting:
(PLUS (LOSSES Z M) (WINS Z M))
for (TIMES (LENGTH M) (LENGTH Z)) and throwing away the equality.
This produces:
(IMPLIES (AND (NOT (MEMBER X M))
(NOT (LISTP (INTERSECT Z M)))
(NOT (EQUAL X 0))
(NUMBERP X)
(ALL-NON-ZEROP Z)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (LOSSES Z M)
(PLUS (LOSSES1 X M)
(PLUS (WINS Z M) (WINS1 X M))))
(PLUS (LENGTH M)
(PLUS (LOSSES Z M) (WINS Z M))))),
which we further simplify, rewriting with CORRECTNESS-OF-CANCEL and
WIN-SOME-LOSE-SOME-1, and expanding the function FIX, to:
T.
Case 1. (IMPLIES (AND (NOT (LISTP L))
(NOT (LISTP (INTERSECT L M)))
(ALL-NON-ZEROP L)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (LOSSES L M) (WINS L M))
(TIMES (LENGTH L) (LENGTH M)))).
This simplifies, rewriting with TIMES-IDENTITY, and opening up
INTERSECT, LISTP, ALL-NON-ZEROP, LOSSES, WINS, PLUS, LENGTH, and
EQUAL, to:
T.
That finishes the proof of *1. Q.E.D.
[ 15.6503906 0.62864583 ]
WIN-SOME-LOSE-SOME-2
(PROVE-LEMMA EQUAL-LOSSES-WINS
(REWRITE)
(EQUAL (LOSSES L M) (WINS M L)))
Name the conjecture *1.
Perhaps we can prove it by induction. The recursive terms in
the conjecture suggest two inductions, both of which are flawed. We
limit our consideration to the two suggested by the largest number of
nonprimitive recursive functions in the conjecture. Since both of
these are equally likely, we will choose arbitrarily. We will induct
according to the following scheme:
(AND (IMPLIES (NLISTP L) (P L M))
(IMPLIES (AND (NOT (NLISTP L)) (P (CDR L) M))
(P L M))).
Linear arithmetic, the lemmas CDR-LESSEQP and CDR-LESSP, and the
definition of NLISTP inform us that the measure (COUNT L) decreases
according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme produces two new formulas:
Case 2. (IMPLIES (NLISTP L)
(EQUAL (LOSSES L M) (WINS M L))).
This simplifies, opening up the definitions of NLISTP and LOSSES,
to:
(IMPLIES (NOT (LISTP L))
(EQUAL 0 (WINS M L))),
which we will name *1.1.
Case 1. (IMPLIES (AND (NOT (NLISTP L))
(EQUAL (LOSSES (CDR L) M)
(WINS M (CDR L))))
(EQUAL (LOSSES L M) (WINS M L))),
which simplifies, rewriting with COMMUTATIVITY-OF-PLUS, and opening
up NLISTP and LOSSES, to:
(IMPLIES (AND (LISTP L)
(EQUAL (LOSSES (CDR L) M)
(WINS M (CDR L))))
(EQUAL (PLUS (LOSSES (CDR L) M)
(LOSSES1 (CAR L) M))
(WINS M L))).
Appealing to the lemma CAR-CDR-ELIM, replace L by (CONS Z X) to
eliminate (CDR L) and (CAR L). This generates:
(IMPLIES (EQUAL (LOSSES X M) (WINS M X))
(EQUAL (PLUS (LOSSES X M) (LOSSES1 Z M))
(WINS M (CONS Z X)))).
We use the above equality hypothesis by substituting (WINS M X) for
(LOSSES X M) and throwing away the equality. This produces:
(EQUAL (PLUS (WINS M X) (LOSSES1 Z M))
(WINS M (CONS Z X))),
which we further simplify, rewriting with COMMUTATIVITY-OF-PLUS, to:
(EQUAL (PLUS (LOSSES1 Z M) (WINS M X))
(WINS M (CONS Z X))).
Name the above subgoal *1.2.
We will try to prove it by induction. There are three plausible
inductions. However, they merge into one likely candidate induction.
We will induct according to the following scheme:
(AND (IMPLIES (NLISTP M) (P Z M X))
(IMPLIES (AND (NOT (NLISTP M))
(LESSP Z (CAR M))
(P Z (CDR M) X))
(P Z M X))
(IMPLIES (AND (NOT (NLISTP M))
( LEQ (CAR M) Z)
(P Z (CDR M) X))
(P Z M X))).
Linear arithmetic, the lemmas CDR-LESSEQP and CDR-LESSP, and the
definition of NLISTP can be used to establish that the measure
(COUNT M) decreases according to the well-founded relation LESSP in
each induction step of the scheme. The above induction scheme leads
to three new conjectures:
Case 3. (IMPLIES (NLISTP M)
(EQUAL (PLUS (LOSSES1 Z M) (WINS M X))
(WINS M (CONS Z X)))),
which we simplify, expanding the functions NLISTP, LOSSES1, WINS,
PLUS, and EQUAL, to:
T.
Case 2. (IMPLIES (AND (NOT (NLISTP M))
(LESSP Z (CAR M))
(EQUAL (PLUS (LOSSES1 Z (CDR M))
(WINS (CDR M) X))
(WINS (CDR M) (CONS Z X))))
(EQUAL (PLUS (LOSSES1 Z M) (WINS M X))
(WINS M (CONS Z X)))),
which simplifies, rewriting with the lemmas COMMUTATIVITY-OF-PLUS,
PLUS-ADD1, COMMUTATIVITY2-OF-PLUS, CDR-CONS, CAR-CONS, SUB1-ADD1,
CORRECTNESS-OF-CANCEL, and ADD1-EQUAL, and unfolding the
definitions of NLISTP, LOSSES1, WINS, WINS1, PLUS, and FIX, to:
T.
Case 1. (IMPLIES (AND (NOT (NLISTP M))
( LEQ (CAR M) Z)
(EQUAL (PLUS (LOSSES1 Z (CDR M))
(WINS (CDR M) X))
(WINS (CDR M) (CONS Z X))))
(EQUAL (PLUS (LOSSES1 Z M) (WINS M X))
(WINS M (CONS Z X)))),
which simplifies, rewriting with COMMUTATIVITY-OF-PLUS, CDR-CONS,
CAR-CONS, and CORRECTNESS-OF-CANCEL, and unfolding the functions
NLISTP, LOSSES1, WINS, WINS1, and FIX, to:
T.
That finishes the proof of *1.2.
So we now return to:
(IMPLIES (NOT (LISTP L))
(EQUAL 0 (WINS M L))),
which we named *1.1 above. Let us appeal to the induction principle.
There is only one suggested induction. We will induct according to
the following scheme:
(AND (IMPLIES (NLISTP M) (P M L))
(IMPLIES (AND (NOT (NLISTP M)) (P (CDR M) L))
(P M L))).
Linear arithmetic, the lemmas CDR-LESSEQP and CDR-LESSP, and the
definition of NLISTP can be used to show that the measure (COUNT M)
decreases according to the well-founded relation LESSP in each
induction step of the scheme. The above induction scheme generates
the following two new conjectures:
Case 2. (IMPLIES (AND (NLISTP M) (NOT (LISTP L)))
(EQUAL 0 (WINS M L))).
This simplifies, unfolding the definitions of NLISTP, WINS, and
EQUAL, to:
T.
Case 1. (IMPLIES (AND (NOT (NLISTP M))
(EQUAL 0 (WINS (CDR M) L))
(NOT (LISTP L)))
(EQUAL 0 (WINS M L))),
which simplifies, expanding the functions NLISTP, WINS, WINS1, PLUS,
and EQUAL, to:
T.
That finishes the proof of *1.1, which, consequently, also
finishes the proof of *1. Q.E.D.
[ 7.8075521 0.72252604 ]
EQUAL-LOSSES-WINS
(PROVE-LEMMA A-WINNER-EVERY-TIME
(REWRITE)
(IMPLIES (AND (NLISTP (INTERSECT L M))
(ALL-NON-ZEROP L)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (WINS L M) (WINS M L))
(TIMES (LENGTH L) (LENGTH M))))
((USE (WIN-SOME-LOSE-SOME-2))
(DISABLE WIN-SOME-LOSE-SOME-2)))
This conjecture can be simplified, using the abbreviations NLISTP,
AND, IMPLIES, and EQUAL-LOSSES-WINS, to the goal:
(IMPLIES (AND (IMPLIES (AND (NLISTP (INTERSECT L M))
(AND (ALL-NON-ZEROP L)
(ALL-NON-ZEROP M)))
(EQUAL (PLUS (WINS L M) (WINS M L))
(TIMES (LENGTH L) (LENGTH M))))
(NOT (LISTP (INTERSECT L M)))
(ALL-NON-ZEROP L)
(ALL-NON-ZEROP M))
(EQUAL (PLUS (WINS L M) (WINS M L))
(TIMES (LENGTH L) (LENGTH M)))),
which simplifies, opening up the definitions of NLISTP, AND, and
IMPLIES, to:
T.
Q.E.D.
[ 0.92200521 0.063020834 ]
A-WINNER-EVERY-TIME
(DEFN MULTS
(N P)
(IF (ZEROP N)
NIL
(CONS (TIMES N P)
(MULTS (SUB1 N) P))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition
of ZEROP inform us that the measure (COUNT N) decreases according to
the well-founded relation LESSP in each recursive call. Hence, MULTS
is accepted under the definitional principle. Note that:
(OR (LITATOM (MULTS N P))
(LISTP (MULTS N P)))
is a theorem.
[ 0.228385417 0.0458333334 ]
MULTS
(PROVE-LEMMA LENGTH-MULTS
(REWRITE)
(EQUAL (LENGTH (MULTS N P)) (FIX N)))
This conjecture simplifies, unfolding the function FIX, to two new
conjectures:
Case 2. (IMPLIES (NOT (NUMBERP N))
(EQUAL (LENGTH (MULTS N P)) 0)).
However this simplifies again, opening up the definitions of MULTS,
LENGTH, and EQUAL, to:
T.
Case 1. (IMPLIES (NUMBERP N)
(EQUAL (LENGTH (MULTS N P)) N)),
which we will name *1.
Let us appeal to the induction principle. There is only one
plausible induction. We will induct according to the following
scheme:
(AND (IMPLIES (ZEROP N) (P N P))
(IMPLIES (AND (NOT (ZEROP N)) (P (SUB1 N) P))
(P N P))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of
ZEROP can be used to establish that the measure (COUNT N) decreases
according to the well-founded relation LESSP in each induction step
of the scheme. The above induction scheme produces the following two
new formulas:
Case 2. (IMPLIES (AND (ZEROP N) (NUMBERP N))
(EQUAL (LENGTH (MULTS N P)) N)).
This simplifies, opening up ZEROP, NUMBERP, EQUAL, MULTS, and
LENGTH, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP N))
(EQUAL (LENGTH (MULTS (SUB1 N) P))
(SUB1 N))
(NUMBERP N))
(EQUAL (LENGTH (MULTS N P)) N)).
This simplifies, applying ADD1-SUB1 and CDR-CONS, and unfolding the
functions ZEROP, MULTS, and LENGTH, to:
T.
That finishes the proof of *1. Q.E.D.
[ 1.98515625 0.20390625 ]
LENGTH-MULTS
(PROVE-LEMMA LEQ-N-WINS1 NIL
(IMPLIES (LESSP (TIMES N P) A)
(LEQ N (WINS1 A (MULTS N P))))
((INDUCT (MULTS N P))))
This formula can be simplified, using the abbreviations ZEROP,
IMPLIES, NOT, OR, and AND, to the following two new goals:
Case 2. (IMPLIES (AND (ZEROP N) (LESSP (TIMES N P) A))
( LEQ N (WINS1 A (MULTS N P)))),
which we simplify, applying TIMES-IDENTITY and EQUAL-TIMES-0, and
unfolding the functions ZEROP, EQUAL, LESSP, MULTS, LISTP, and
WINS1, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(IMPLIES (LESSP (TIMES (SUB1 N) P) A)
(IF (LESSP (WINS1 A (MULTS (SUB1 N) P))
(SUB1 N))
F
T))
(LESSP (TIMES N P) A))
( LEQ N (WINS1 A (MULTS N P)))),
which we simplify, rewriting with COMMUTATIVITY-OF-TIMES, CDR-CONS,
CAR-CONS, and SUB1-ADD1, and unfolding the definitions of IMPLIES,
MULTS, WINS1, and LESSP, to the new conjecture:
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
( LEQ A (TIMES P (SUB1 N)))
(LESSP (TIMES N P) A))
( LEQ
(SUB1 N)
(WINS1 A (MULTS (SUB1 N) P)))).
Applying the lemma SUB1-ELIM, we now replace N by (ADD1 X) to
eliminate (SUB1 N). We employ the type restriction lemma noted
when SUB1 was introduced to constrain the new variable. We thus
obtain:
(IMPLIES (AND (NUMBERP X)
(NOT (EQUAL (ADD1 X) 0))
( LEQ A (TIMES P X))
(LESSP (TIMES (ADD1 X) P) A))
( LEQ X (WINS1 A (MULTS X P)))),
which further simplifies, appealing to the lemmas TIMES-ADD1 and
COMMUTATIVITY-OF-TIMES, to:
(IMPLIES (AND (NUMBERP X)
( LEQ A (TIMES P X))
(LESSP (PLUS P (TIMES P X)) A))
( LEQ X (WINS1 A (MULTS X P)))).
However this simplifies again, using linear arithmetic, to:
T.
Q.E.D.
[ 3.27057293 0.208333334 ]
LEQ-N-WINS1
(PROVE-LEMMA MONOTONE-WINS1 NIL
(IMPLIES (LEQ N M)
(LEQ (WINS1 A (MULTS N P))
(WINS1 A (MULTS M P))))
((INDUCT (MULTS M P))))
This conjecture can be simplified, using the abbreviations ZEROP,
IMPLIES, NOT, OR, and AND, to the following two new formulas:
Case 2. (IMPLIES (AND (ZEROP M) ( LEQ N M))
( LEQ
(WINS1 A (MULTS N P))
(WINS1 A (MULTS M P)))).
This simplifies, expanding the definitions of ZEROP, EQUAL, LESSP,
MULTS, LISTP, and WINS1, to:
T.
Case 1. (IMPLIES (AND (NOT (EQUAL M 0))
(NUMBERP M)
(IMPLIES (IF (LESSP (SUB1 M) N) F T)
(IF (LESSP (WINS1 A (MULTS (SUB1 M) P))
(WINS1 A (MULTS N P)))
F
T))
( LEQ N M))
( LEQ
(WINS1 A (MULTS N P))
(WINS1 A (MULTS M P)))).
This simplifies, appealing to the lemmas CDR-CONS and CAR-CONS, and
expanding IMPLIES, MULTS, and WINS1, to the following three new
conjectures:
Case 1.3.
(IMPLIES (AND (NOT (EQUAL M 0))
(NUMBERP M)
(LESSP (SUB1 M) N)
( LEQ N M)
( LEQ A (TIMES M P)))
( LEQ
(WINS1 A (MULTS N P))
(WINS1 A (MULTS (SUB1 M) P)))).
This simplifies again, using linear arithmetic, to two new goals:
Case 1.3.2.
(IMPLIES (AND (NOT (NUMBERP N))
(NOT (EQUAL M 0))
(NUMBERP M)
(LESSP (SUB1 M) N)
( LEQ N M)
( LEQ A (TIMES M P)))
( LEQ
(WINS1 A (MULTS N P))
(WINS1 A (MULTS (SUB1 M) P)))).
However this simplifies again, unfolding LESSP, to:
T.
Case 1.3.1.
(IMPLIES (AND (NUMBERP N)
(NOT (EQUAL M 0))
(NUMBERP M)
(LESSP (SUB1 M) M)
( LEQ M M)
( LEQ A (TIMES M P)))
( LEQ
(WINS1 A (MULTS M P))
(WINS1 A (MULTS (SUB1 M) P)))).
But this again simplifies, rewriting with CDR-CONS and CAR-CONS,
and expanding LESSP, MULTS, and WINS1, to:
(IMPLIES (AND (NUMBERP N)
(NOT (EQUAL M 0))
(NUMBERP M)
(LESSP (SUB1 M) M)
( LEQ (SUB1 M) (SUB1 M))
( LEQ A (TIMES M P)))
( LEQ
(WINS1 A (MULTS (SUB1 M) P))
(WINS1 A (MULTS (SUB1 M) P)))),
which we again simplify, using linear arithmetic, to:
T.
Case 1.2.
(IMPLIES (AND (NOT (EQUAL M 0))
(NUMBERP M)
(LESSP (SUB1 M) N)
( LEQ N M)
(LESSP (TIMES M P) A))
( LEQ
(WINS1 A (MULTS N P))
(ADD1 (WINS1 A (MULTS (SUB1 M) P))))),
which we again simplify, using linear arithmetic, to the
following two new conjectures:
Case 1.2.2.
(IMPLIES (AND (NOT (NUMBERP N))
(NOT (EQUAL M 0))
(NUMBERP M)
(LESSP (SUB1 M) N)
( LEQ N M)
(LESSP (TIMES M P) A))
( LEQ
(WINS1 A (MULTS N P))
(ADD1 (WINS1 A (MULTS (SUB1 M) P))))),
which we again simplify, unfolding LESSP, to:
T.
Case 1.2.1.
(IMPLIES (AND (NUMBERP N)
(NOT (EQUAL M 0))
(NUMBERP M)
(LESSP (SUB1 M) M)
( LEQ M M)
(LESSP (TIMES M P) A))
( LEQ
(WINS1 A (MULTS M P))
(ADD1 (WINS1 A (MULTS (SUB1 M) P))))).
This again simplifies, rewriting with CDR-CONS, CAR-CONS, and
SUB1-ADD1, and expanding the definitions of LESSP, MULTS, and
WINS1, to the new conjecture:
(IMPLIES (AND (NUMBERP N)
(NOT (EQUAL M 0))
(NUMBERP M)
(LESSP (SUB1 M) M)
( LEQ (SUB1 M) (SUB1 M))
(LESSP (TIMES M P) A))
( LEQ
(WINS1 A (MULTS (SUB1 M) P))
(WINS1 A (MULTS (SUB1 M) P)))),
which we again simplify, using linear arithmetic, to:
T.
Case 1.1.
(IMPLIES (AND (NOT (EQUAL M 0))
(NUMBERP M)
( LEQ
(WINS1 A (MULTS N P))
(WINS1 A (MULTS (SUB1 M) P)))
( LEQ N M)
(LESSP (TIMES M P) A))
( LEQ
(WINS1 A (MULTS N P))
(ADD1 (WINS1 A (MULTS (SUB1 M) P))))).
This simplifies again, using linear arithmetic, to:
T.
Q.E.D.
[ 7.3782552 0.4328125 ]
MONOTONE-WINS1
(DEFN QUOT-QUOT-INDUCTION
(A B C D)
(IF (ZEROP B)
T
(IF (ZEROP D)
T
(IF (LESSP A D)
T
(IF (LESSP C B)
T
(QUOT-QUOT-INDUCTION (DIFFERENCE A D)
B
(DIFFERENCE C B)
D))))))
Linear arithmetic, the lemmas COUNT-NUMBERP and COUNT-NOT-LESSP,
and the definition of ZEROP inform us that the measure (COUNT A)
decreases according to the well-founded relation LESSP in each
recursive call. Hence, QUOT-QUOT-INDUCTION is accepted under the
definitional principle. The definition of QUOT-QUOT-INDUCTION can be
justified in another way. Linear arithmetic, the lemmas
COUNT-NUMBERP and COUNT-NOT-LESSP, and the definition of ZEROP inform
us that the measure (COUNT C) decreases according to the well-founded
relation LESSP in each recursive call. From the definition we can
conclude that (TRUEP (QUOT-QUOT-INDUCTION A B C D)) is a theorem.
[ 1.31914063 0.091927083 ]
QUOT-QUOT-INDUCTION
(PROVE-LEMMA LEQ-TIMES-QUOT NIL
(IMPLIES (AND (NOT (ZEROP B))
(LEQ (TIMES A B) (TIMES C D)))
(LEQ (QUOTIENT A D) (QUOTIENT C B)))
((INDUCT (QUOT-QUOT-INDUCTION A B C D))))
This formula can be simplified, using the abbreviations ZEROP,
IMPLIES, NOT, OR, and AND, to the following five new goals:
Case 5. (IMPLIES (AND (ZEROP B)
(NOT (EQUAL B 0))
(NUMBERP B)
( LEQ (TIMES A B) (TIMES C D)))
( LEQ (QUOTIENT A D) (QUOTIENT C B))),
which simplifies, opening up the definition of ZEROP, to:
T.
Case 4. (IMPLIES (AND (NOT (EQUAL B 0))
(NUMBERP B)
(ZEROP D)
( LEQ (TIMES A B) (TIMES C D)))
( LEQ (QUOTIENT A D) (QUOTIENT C B))),
which simplifies, rewriting with COMMUTATIVITY-OF-TIMES,
TIMES-IDENTITY, EQUAL-TIMES-0, and TIMES-ZERO2, and opening up the
functions ZEROP, EQUAL, LESSP, and QUOTIENT, to:
T.
Case 3. (IMPLIES (AND (NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
(LESSP A D)
( LEQ (TIMES A B) (TIMES C D)))
( LEQ (QUOTIENT A D) (QUOTIENT C B))),
which simplifies, unfolding the definitions of QUOTIENT, EQUAL, and
LESSP, to:
T.
Case 2. (IMPLIES (AND (NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D A)
(LESSP C B)
( LEQ (TIMES A B) (TIMES C D)))
( LEQ (QUOTIENT A D) (QUOTIENT C B))).
This simplifies, expanding the definitions of QUOTIENT, EQUAL, and
LESSP, to the formula:
(IMPLIES (AND (NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D A)
(LESSP C B)
( LEQ (TIMES A B) (TIMES C D)))
(EQUAL (QUOTIENT A D) 0)).
Applying the lemma REMAINDER-QUOTIENT-ELIM, replace A by
(PLUS Z (TIMES D X)) to eliminate (QUOTIENT A D) and
(REMAINDER A D). We employ LESSP-REMAINDER2, the type restriction
lemma noted when QUOTIENT was introduced, and the type restriction
lemma noted when REMAINDER was introduced to restrict the new
variables. This generates the following two new formulas:
Case 2.2.
(IMPLIES (AND (NOT (NUMBERP A))
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D A)
(LESSP C B)
( LEQ (TIMES A B) (TIMES C D)))
(EQUAL (QUOTIENT A D) 0)).
However this simplifies further, unfolding the function LESSP, to:
T.
Case 2.1.
(IMPLIES (AND (NUMBERP X)
(NUMBERP Z)
(EQUAL (LESSP Z D) (NOT (ZEROP D)))
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D (PLUS Z (TIMES D X)))
(LESSP C B)
( LEQ
(TIMES (PLUS Z (TIMES D X)) B)
(TIMES C D)))
(EQUAL X 0)),
which we further simplify, applying
DISTRIBUTIVITY-OF-TIMES-OVER-PLUS and COMMUTATIVITY-OF-TIMES, and
expanding the definitions of ZEROP and NOT, to the new formula:
(IMPLIES (AND (NUMBERP X)
(NUMBERP Z)
(LESSP Z D)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D (PLUS Z (TIMES D X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)).
Name the above subgoal *1.
Case 1. (IMPLIES
(AND (NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D A)
( LEQ B C)
(IMPLIES (AND (NOT (ZEROP B))
(IF (LESSP (TIMES (DIFFERENCE C B) D)
(TIMES (DIFFERENCE A D) B))
F
T))
(IF (LESSP (QUOTIENT (DIFFERENCE C B) B)
(QUOTIENT (DIFFERENCE A D) D))
F
T))
( LEQ (TIMES A B) (TIMES C D)))
( LEQ (QUOTIENT A D) (QUOTIENT C B))).
This simplifies, applying TIMES-DIFFERENCE, COMMUTATIVITY-OF-TIMES,
and SUB1-ADD1, and expanding the functions ZEROP, NOT, AND, IMPLIES,
QUOTIENT, and LESSP, to:
(IMPLIES (AND (NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D A)
( LEQ B C)
(LESSP (DIFFERENCE (TIMES C D) (TIMES B D))
(DIFFERENCE (TIMES A B) (TIMES B D)))
( LEQ (TIMES A B) (TIMES C D)))
( LEQ
(QUOTIENT (DIFFERENCE A D) D)
(QUOTIENT (DIFFERENCE C B) B))).
But this simplifies again, using linear arithmetic, to:
(IMPLIES (AND (LESSP (TIMES A B) (TIMES B D))
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D A)
( LEQ B C)
(LESSP (DIFFERENCE (TIMES C D) (TIMES B D))
(DIFFERENCE (TIMES A B) (TIMES B D)))
( LEQ (TIMES A B) (TIMES C D)))
( LEQ
(QUOTIENT (DIFFERENCE A D) D)
(QUOTIENT (DIFFERENCE C B) B))),
which we again simplify, using linear arithmetic, applying
DIFFERENCE-0, and unfolding EQUAL and LESSP, to:
T.
So next consider:
(IMPLIES (AND (NUMBERP X)
(NUMBERP Z)
(LESSP Z D)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D (PLUS Z (TIMES D X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)),
which is formula *1 above. We will try to prove it by induction.
Six inductions are suggested by terms in the conjecture. They merge
into two likely candidate inductions, both of which are unflawed.
However, one of these is more likely than the other. We will induct
according to the following scheme:
(AND (IMPLIES (OR (EQUAL D 0) (NOT (NUMBERP D)))
(P X C D B Z))
(IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(OR (EQUAL Z 0) (NOT (NUMBERP Z))))
(P X C D B Z))
(IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(NOT (OR (EQUAL Z 0) (NOT (NUMBERP Z))))
(P X C (SUB1 D) B (SUB1 Z)))
(P X C D B Z))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the
definitions of OR and NOT inform us that the measure (COUNT Z)
decreases according to the well-founded relation LESSP in each
induction step of the scheme. Note, however, the inductive instance
chosen for D. The above induction scheme leads to the following six
new conjectures:
Case 6. (IMPLIES (AND (OR (EQUAL D 0) (NOT (NUMBERP D)))
(NUMBERP X)
(NUMBERP Z)
(LESSP Z D)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D (PLUS Z (TIMES D X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)).
This simplifies, opening up the functions NOT and OR, to:
T.
Case 5. (IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(OR (EQUAL Z 0) (NOT (NUMBERP Z)))
(NUMBERP X)
(NUMBERP Z)
(LESSP Z D)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D (PLUS Z (TIMES D X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)).
This simplifies, appealing to the lemmas COMMUTATIVITY-OF-TIMES and
TIMES-IDENTITY, and expanding the functions NOT, OR, NUMBERP, EQUAL,
LESSP, and PLUS, to:
(IMPLIES (AND (EQUAL Z 0)
(NUMBERP X)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D (TIMES D X))
(LESSP C B)
( LEQ
(TIMES B (TIMES D X))
(TIMES C D)))
(EQUAL X 0)),
which we again simplify, clearly, to the new conjecture:
(IMPLIES (AND (NUMBERP X)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D (TIMES D X))
(LESSP C B)
( LEQ
(TIMES B (TIMES D X))
(TIMES C D)))
(EQUAL X 0)),
which we generalize by replacing (TIMES D X) by Y. We restrict the
new variable by appealing to the type restriction lemma noted when
TIMES was introduced. We would thus like to prove:
(IMPLIES (AND (NUMBERP Y)
(NUMBERP X)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D Y)
(LESSP C B)
( LEQ (TIMES B Y) (TIMES C D)))
(EQUAL X 0)),
which has two irrelevant terms in it. By eliminating these terms
we get the new goal:
(IMPLIES (AND (NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D Y)
(LESSP C B))
(LESSP (TIMES C D) (TIMES B Y))).
Give the above formula the name *1.1.
Case 4. (IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(NOT (OR (EQUAL Z 0) (NOT (NUMBERP Z))))
( LEQ (SUB1 D) (SUB1 Z))
(NUMBERP X)
(NUMBERP Z)
(LESSP Z D)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D (PLUS Z (TIMES D X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)).
This simplifies, using linear arithmetic, to:
(IMPLIES (AND (EQUAL Z 0)
(NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(NOT (OR (EQUAL Z 0) (NOT (NUMBERP Z))))
( LEQ (SUB1 D) (SUB1 Z))
(NUMBERP X)
(NUMBERP Z)
(LESSP Z D)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D (PLUS Z (TIMES D X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)).
This again simplifies, expanding the definitions of NOT, OR, EQUAL,
and NUMBERP, to:
T.
Case 3. (IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(NOT (OR (EQUAL Z 0) (NOT (NUMBERP Z))))
(EQUAL (SUB1 D) 0)
(NUMBERP X)
(NUMBERP Z)
(LESSP Z D)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D (PLUS Z (TIMES D X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)),
which simplifies, applying SUB1-ADD1, and opening up the
definitions of NOT, OR, LESSP, PLUS, and EQUAL, to:
(IMPLIES (AND (NOT (EQUAL Z 0))
(EQUAL (SUB1 D) 0)
(NUMBERP X)
(NUMBERP Z)
(LESSP (SUB1 Z) (SUB1 D))
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)),
which we again simplify, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(NOT (OR (EQUAL Z 0) (NOT (NUMBERP Z))))
(LESSP (PLUS (SUB1 Z) (TIMES (SUB1 D) X))
(SUB1 D))
(NUMBERP X)
(NUMBERP Z)
(LESSP Z D)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D (PLUS Z (TIMES D X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)).
This simplifies, appealing to the lemma SUB1-ADD1, and unfolding
the definitions of NOT, OR, LESSP, and PLUS, to:
(IMPLIES (AND (NOT (EQUAL Z 0))
(LESSP (PLUS (SUB1 Z) (TIMES (SUB1 D) X))
(SUB1 D))
(NUMBERP X)
(NUMBERP Z)
(LESSP (SUB1 Z) (SUB1 D))
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ
(SUB1 D)
(PLUS (SUB1 Z) (TIMES D X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)),
which further simplifies, applying COMMUTATIVITY-OF-TIMES, to the
formula:
(IMPLIES (AND (NOT (EQUAL Z 0))
(LESSP (PLUS (SUB1 Z) (TIMES X (SUB1 D)))
(SUB1 D))
(NUMBERP X)
(NUMBERP Z)
(LESSP (SUB1 Z) (SUB1 D))
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ
(SUB1 D)
(PLUS (SUB1 Z) (TIMES D X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)),
which again simplifies, using linear arithmetic and rewriting with
LESSP-TIMES-1, to:
T.
Case 1. (IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(NOT (OR (EQUAL Z 0) (NOT (NUMBERP Z))))
(LESSP (TIMES C (SUB1 D))
(PLUS (TIMES B (SUB1 Z))
(TIMES B (TIMES (SUB1 D) X))))
(NUMBERP X)
(NUMBERP Z)
(LESSP Z D)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D (PLUS Z (TIMES D X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)),
which we simplify, rewriting with the lemmas COMMUTATIVITY-OF-TIMES
and SUB1-ADD1, and unfolding the functions NOT, OR, LESSP, and PLUS,
to the formula:
(IMPLIES (AND (NOT (EQUAL Z 0))
(LESSP (TIMES C (SUB1 D))
(PLUS (TIMES B (SUB1 Z))
(TIMES B (TIMES X (SUB1 D)))))
(NUMBERP X)
(NUMBERP Z)
(LESSP (SUB1 Z) (SUB1 D))
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ
(SUB1 D)
(PLUS (SUB1 Z) (TIMES D X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES D X)))
(TIMES C D)))
(EQUAL X 0)).
Appealing to the lemma SUB1-ELIM, we now replace D by (ADD1 V) to
eliminate (SUB1 D). We use the type restriction lemma noted when
SUB1 was introduced to restrict the new variable. The result is:
(IMPLIES (AND (NUMBERP V)
(NOT (EQUAL Z 0))
(LESSP (TIMES C V)
(PLUS (TIMES B (SUB1 Z))
(TIMES B (TIMES X V))))
(NUMBERP X)
(NUMBERP Z)
(LESSP (SUB1 Z) V)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL (ADD1 V) 0))
( LEQ V
(PLUS (SUB1 Z) (TIMES (ADD1 V) X)))
(LESSP C B)
( LEQ
(PLUS (TIMES B Z)
(TIMES B (TIMES (ADD1 V) X)))
(TIMES C (ADD1 V))))
(EQUAL X 0)).
This simplifies further, rewriting with the lemmas
COMMUTATIVITY-OF-TIMES, TIMES-ADD1, COMMUTATIVITY2-OF-PLUS, and
DISTRIBUTIVITY-OF-TIMES-OVER-PLUS, to:
(IMPLIES (AND (NUMBERP V)
(NOT (EQUAL Z 0))
(LESSP (TIMES C V)
(PLUS (TIMES B (SUB1 Z))
(TIMES B (TIMES V X))))
(NUMBERP X)
(NUMBERP Z)
(LESSP (SUB1 Z) V)
(NOT (EQUAL B 0))
(NUMBERP B)
( LEQ V
(PLUS X (PLUS (SUB1 Z) (TIMES V X))))
(LESSP C B)
( LEQ
(PLUS (TIMES B X)
(PLUS (TIMES B Z)
(TIMES B (TIMES V X))))
(PLUS C (TIMES C V))))
(EQUAL X 0)).
Appealing to the lemma SUB1-ELIM, we now replace Z by (ADD1 W) to
eliminate (SUB1 Z). We employ the type restriction lemma noted
when SUB1 was introduced to constrain the new variable. This
generates:
(IMPLIES (AND (NUMBERP W)
(NUMBERP V)
(NOT (EQUAL (ADD1 W) 0))
(LESSP (TIMES C V)
(PLUS (TIMES B W)
(TIMES B (TIMES V X))))
(NUMBERP X)
(LESSP W V)
(NOT (EQUAL B 0))
(NUMBERP B)
( LEQ V (PLUS X (PLUS W (TIMES V X))))
(LESSP C B)
( LEQ
(PLUS (TIMES B X)
(PLUS (TIMES B (ADD1 W))
(TIMES B (TIMES V X))))
(PLUS C (TIMES C V))))
(EQUAL X 0)),
which further simplifies, rewriting with COMMUTATIVITY2-OF-PLUS,
TIMES-ADD1, and ASSOCIATIVITY-OF-PLUS, to:
(IMPLIES (AND (NUMBERP W)
(NUMBERP V)
(LESSP (TIMES C V)
(PLUS (TIMES B W)
(TIMES B (TIMES V X))))
(NUMBERP X)
(LESSP W V)
(NOT (EQUAL B 0))
(NUMBERP B)
( LEQ V (PLUS W (PLUS X (TIMES V X))))
(LESSP C B)
( LEQ
(PLUS B
(PLUS (TIMES B W)
(PLUS (TIMES B X)
(TIMES B (TIMES V X)))))
(PLUS C (TIMES C V))))
(EQUAL X 0)).
This simplifies finally, using linear arithmetic, to:
T.
So let us turn our attention to:
(IMPLIES (AND (NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D Y)
(LESSP C B))
(LESSP (TIMES C D) (TIMES B Y))),
which we named *1.1 above. We will appeal to induction. The
recursive terms in the conjecture suggest four inductions. They
merge into two likely candidate inductions, both of which are
unflawed. Since both of these are equally likely, we will choose
arbitrarily. We will induct according to the following scheme:
(AND (IMPLIES (OR (EQUAL D 0) (NOT (NUMBERP D)))
(P C D B Y))
(IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(P C D B Y))
(IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(NOT (OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(P C (SUB1 D) B (SUB1 Y)))
(P C D B Y))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the
definitions of OR and NOT inform us that the measure (COUNT Y)
decreases according to the well-founded relation LESSP in each
induction step of the scheme. Note, however, the inductive instance
chosen for D. The above induction scheme produces the following five
new formulas:
Case 5. (IMPLIES (AND (OR (EQUAL D 0) (NOT (NUMBERP D)))
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D Y)
(LESSP C B))
(LESSP (TIMES C D) (TIMES B Y))).
This simplifies, expanding NOT and OR, to:
T.
Case 4. (IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(OR (EQUAL Y 0) (NOT (NUMBERP Y)))
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D Y)
(LESSP C B))
(LESSP (TIMES C D) (TIMES B Y))).
This simplifies, opening up the functions NOT, OR, NUMBERP, EQUAL,
and LESSP, to:
T.
Case 3. (IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(NOT (OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(EQUAL (SUB1 D) 0)
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D Y)
(LESSP C B))
(LESSP (TIMES C D) (TIMES B Y))),
which simplifies, unfolding the functions NOT, OR, and LESSP, to:
(IMPLIES (AND (NOT (EQUAL Y 0))
(EQUAL (SUB1 D) 0)
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ (SUB1 D) (SUB1 Y))
(LESSP C B))
(LESSP (TIMES C D) (TIMES B Y))),
which again simplifies, expanding EQUAL and LESSP, to:
(IMPLIES (AND (NOT (EQUAL Y 0))
(EQUAL (SUB1 D) 0)
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
(LESSP C B))
(LESSP (TIMES C D) (TIMES B Y))).
Appealing to the lemma SUB1-ELIM, replace D by (ADD1 X) to
eliminate (SUB1 D). We employ the type restriction lemma noted
when SUB1 was introduced to restrict the new variable. We thus
obtain:
(IMPLIES (AND (NUMBERP X)
(NOT (EQUAL Y 0))
(EQUAL X 0)
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL (ADD1 X) 0))
(LESSP C B))
(LESSP (TIMES C (ADD1 X))
(TIMES B Y))).
This simplifies further, rewriting with TIMES-1 and
COMMUTATIVITY-OF-TIMES, and opening up the definitions of NUMBERP
and EQUAL, to the following two new goals:
Case 3.2.
(IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(LESSP C B)
(NOT (NUMBERP C)))
(LESSP 0 (TIMES B Y))).
However this simplifies again, using linear arithmetic and
rewriting with the lemma LESSP-TIMES-2, to:
T.
Case 3.1.
(IMPLIES (AND (NOT (EQUAL Y 0))
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(LESSP C B)
(NUMBERP C))
(LESSP C (TIMES B Y))),
which we again simplify, using linear arithmetic and rewriting
with LESSP-TIMES-2, to:
T.
Case 2. (IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(NOT (OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(LESSP (SUB1 Y) (SUB1 D))
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D Y)
(LESSP C B))
(LESSP (TIMES C D) (TIMES B Y))),
which we simplify, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (NOT (OR (EQUAL D 0) (NOT (NUMBERP D))))
(NOT (OR (EQUAL Y 0) (NOT (NUMBERP Y))))
(LESSP (TIMES C (SUB1 D))
(TIMES B (SUB1 Y)))
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ D Y)
(LESSP C B))
(LESSP (TIMES C D) (TIMES B Y))).
This simplifies, expanding the definitions of NOT, OR, and LESSP,
to the new conjecture:
(IMPLIES (AND (NOT (EQUAL Y 0))
(LESSP (TIMES C (SUB1 D))
(TIMES B (SUB1 Y)))
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL D 0))
(NUMBERP D)
( LEQ (SUB1 D) (SUB1 Y))
(LESSP C B))
(LESSP (TIMES C D) (TIMES B Y))).
Applying the lemma SUB1-ELIM, we now replace D by (ADD1 X) to
eliminate (SUB1 D). We use the type restriction lemma noted when
SUB1 was introduced to constrain the new variable. The result is:
(IMPLIES (AND (NUMBERP X)
(NOT (EQUAL Y 0))
(LESSP (TIMES C X) (TIMES B (SUB1 Y)))
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
(NOT (EQUAL (ADD1 X) 0))
( LEQ X (SUB1 Y))
(LESSP C B))
(LESSP (TIMES C (ADD1 X))
(TIMES B Y))).
However this simplifies further, rewriting with TIMES-ADD1, to:
(IMPLIES (AND (NUMBERP X)
(NOT (EQUAL Y 0))
(LESSP (TIMES C X) (TIMES B (SUB1 Y)))
(NUMBERP Y)
(NOT (EQUAL B 0))
(NUMBERP B)
( LEQ X (SUB1 Y))
(LESSP C B))
(LESSP (PLUS C (TIMES C X))
(TIMES B Y))).
Applying the lemma SUB1-ELIM, replace Y by (ADD1 Z) to eliminate
(SUB1 Y). We rely upon the type restriction lemma noted when SUB1
was introduced to restrict the new variable. We would thus like to
prove:
(IMPLIES (AND (NUMBERP Z)
(NUMBERP X)
(NOT (EQUAL (ADD1 Z) 0))
(LESSP (TIMES C X) (TIMES B Z))
(NOT (EQUAL B 0))
(NUMBERP B)
( LEQ X Z)
(LESSP C B))
(LESSP (PLUS C (TIMES C X))
(TIMES B (ADD1 Z)))),
which further simplifies, rewriting with the lemma TIMES-ADD1, to:
(IMPLIES (AND (NUMBERP Z)
(NUMBERP X)
(LESSP (TIMES C X) (TIMES B Z))
(NOT (EQUAL B 0))
(NUMBERP B)
( LEQ X Z)
(LESSP C B))
(LESSP (PLUS C (TIMES C X))
(PLUS B (TIMES B Z)))),
which we finally simplify, using linear arithmetic, to:
T.
That finishes the proof of *1.1, which also finishes the proof
of *1. Q.E.D.
[ 62.2447915 2.65625 ]
LEQ-TIMES-QUOT
(PROVE-LEMMA LEQ-QUOT-TIMES NIL
(LEQ (QUOTIENT (TIMES (QUOTIENT P 2.) Q) P)
(QUOTIENT Q 2.))
((USE (LEQ-TIMES-QUOT (A (TIMES (QUOTIENT P 2.) Q))
(D P)
(C Q)
(B 2.)))))
This conjecture can be simplified, using the abbreviation
ASSOCIATIVITY-OF-TIMES, to:
(IMPLIES
(IMPLIES (AND (NOT (ZEROP 2))
(IF (LESSP (TIMES Q P)
(TIMES (QUOTIENT P 2) (TIMES Q 2)))
F
T))
(IF (LESSP (QUOTIENT Q 2)
(QUOTIENT (TIMES (QUOTIENT P 2) Q)
P))
F
T))
( LEQ
(QUOTIENT (TIMES (QUOTIENT P 2) Q) P)
(QUOTIENT Q 2))).
This simplifies, applying COMMUTATIVITY-OF-TIMES, TIMES-2, and
DISTRIBUTIVITY-OF-TIMES-OVER-PLUS, and unfolding ZEROP, NOT, AND, and
IMPLIES, to:
(IMPLIES (LESSP (TIMES P Q)
(PLUS (TIMES Q (QUOTIENT P 2))
(TIMES Q (QUOTIENT P 2))))
( LEQ
(QUOTIENT (TIMES Q (QUOTIENT P 2)) P)
(QUOTIENT Q 2))).
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace P by
(PLUS Z (TIMES 2 X)) to eliminate (QUOTIENT P 2) and (REMAINDER P 2).
We rely upon LESSP-REMAINDER2, the type restriction lemma noted when
QUOTIENT was introduced, and the type restriction lemma noted when
REMAINDER was introduced to constrain the new variables. We thus
obtain the following four new formulas:
Case 4. (IMPLIES (AND (NOT (NUMBERP P))
(LESSP (TIMES P Q)
(PLUS (TIMES Q (QUOTIENT P 2))
(TIMES Q (QUOTIENT P 2)))))
( LEQ
(QUOTIENT (TIMES Q (QUOTIENT P 2)) P)
(QUOTIENT Q 2))),
which further simplifies, rewriting with COMMUTATIVITY-OF-TIMES,
TIMES-IDENTITY, and LESSP-TIMES-CANCELLATION, and opening up the
functions LESSP, NUMBERP, EQUAL, QUOTIENT, and PLUS, to:
T.
Case 3. (IMPLIES (AND (EQUAL 2 0)
(LESSP (TIMES P Q)
(PLUS (TIMES Q (QUOTIENT P 2))
(TIMES Q (QUOTIENT P 2)))))
( LEQ
(QUOTIENT (TIMES Q (QUOTIENT P 2)) P)
(QUOTIENT Q 2))).
However this further simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (NOT (NUMBERP 2))
(LESSP (TIMES P Q)
(PLUS (TIMES Q (QUOTIENT P 2))
(TIMES Q (QUOTIENT P 2)))))
( LEQ
(QUOTIENT (TIMES Q (QUOTIENT P 2)) P)
(QUOTIENT Q 2))),
which we further simplify, obviously, to:
T.
Case 1. (IMPLIES (AND (NUMBERP X)
(NUMBERP Z)
(EQUAL (LESSP Z 2) (NOT (ZEROP 2)))
(NOT (EQUAL 2 0))
(LESSP (TIMES (PLUS Z (TIMES 2 X)) Q)
(PLUS (TIMES Q X) (TIMES Q X))))
( LEQ
(QUOTIENT (TIMES Q X)
(PLUS Z (TIMES 2 X)))
(QUOTIENT Q 2))),
which we further simplify, applying TIMES-2, COMMUTATIVITY-OF-PLUS,
COMMUTATIVITY2-OF-PLUS, DISTRIBUTIVITY-OF-TIMES-OVER-PLUS,
COMMUTATIVITY-OF-TIMES, and LESSP-PLUS-CANCELATION, and expanding
the definitions of ZEROP, NOT, and EQUAL, to:
(IMPLIES (AND (NUMBERP X)
(NUMBERP Z)
(LESSP Z 2)
(LESSP (PLUS (TIMES Q X) (TIMES Q Z))
(TIMES Q X)))
( LEQ
(QUOTIENT (TIMES Q X)
(PLUS X (PLUS X Z)))
(QUOTIENT Q 2))),
which we again simplify, using linear arithmetic, to:
T.
Q.E.D.
[ 29.5009115 0.388151042 ]
LEQ-QUOT-TIMES
(DEFN MONOTONE-QUOT-INDUCTION
(I J P)
(IF (ZEROP P)
T
(IF (LESSP I P)
T
(IF (LESSP J P)
T
(MONOTONE-QUOT-INDUCTION (DIFFERENCE I P)
(DIFFERENCE J P)
P)))))
Linear arithmetic, the lemmas COUNT-NUMBERP and COUNT-NOT-LESSP,
and the definition of ZEROP can be used to establish that the measure
(COUNT I) decreases according to the well-founded relation LESSP in
each recursive call. Hence, MONOTONE-QUOT-INDUCTION is accepted
under the definitional principle. The definition of
MONOTONE-QUOT-INDUCTION can be justified in another way. Linear
arithmetic, the lemmas COUNT-NUMBERP and COUNT-NOT-LESSP, and the
definition of ZEROP establish that the measure (COUNT J) decreases
according to the well-founded relation LESSP in each recursive call.
Observe that (TRUEP (MONOTONE-QUOT-INDUCTION I J P)) is a theorem.
[ 1.05091146 0.082161458 ]
MONOTONE-QUOT-INDUCTION
(PROVE-LEMMA MONOTONE-QUOT NIL
(IMPLIES (LEQ J I)
(LEQ (QUOTIENT J P) (QUOTIENT I P)))
((INDUCT (MONOTONE-QUOT-INDUCTION I J P))))
This conjecture can be simplified, using the abbreviations ZEROP,
IMPLIES, NOT, OR, and AND, to the following four new conjectures:
Case 4. (IMPLIES (AND (ZEROP P) ( LEQ J I))
( LEQ (QUOTIENT J P) (QUOTIENT I P))),
which simplifies, unfolding the functions ZEROP, EQUAL, QUOTIENT,
and LESSP, to:
T.
Case 3. (IMPLIES (AND (NOT (EQUAL P 0))
(NUMBERP P)
(LESSP I P)
( LEQ J I))
( LEQ (QUOTIENT J P) (QUOTIENT I P))),
which we simplify, using linear arithmetic, rewriting with
DIFFERENCE-0, and unfolding the definitions of QUOTIENT, LESSP,
EQUAL, and ADD1, to the new conjecture:
(IMPLIES (AND (NOT (EQUAL P 0))
(NUMBERP P)
(LESSP I P)
( LEQ J I))
(LESSP J P)),
which we again simplify, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (NOT (EQUAL P 0))
(NUMBERP P)
( LEQ P I)
(LESSP J P)
( LEQ J I))
( LEQ (QUOTIENT J P) (QUOTIENT I P))).
This simplifies, opening up QUOTIENT, EQUAL, and LESSP, to:
T.
Case 1. (IMPLIES
(AND (NOT (EQUAL P 0))
(NUMBERP P)
( LEQ P I)
( LEQ P J)
(IMPLIES (IF (LESSP (DIFFERENCE I P)
(DIFFERENCE J P))
F
T)
(IF (LESSP (QUOTIENT (DIFFERENCE I P) P)
(QUOTIENT (DIFFERENCE J P) P))
F
T))
( LEQ J I))
( LEQ (QUOTIENT J P) (QUOTIENT I P))),
which simplifies, appealing to the lemma SUB1-ADD1, and unfolding
the definitions of IMPLIES, QUOTIENT, and LESSP, to:
(IMPLIES (AND (NOT (EQUAL P 0))
(NUMBERP P)
( LEQ P I)
( LEQ P J)
(LESSP (DIFFERENCE I P)
(DIFFERENCE J P))
( LEQ J I))
( LEQ
(QUOTIENT (DIFFERENCE J P) P)
(QUOTIENT (DIFFERENCE I P) P))),
which we again simplify, using linear arithmetic, to:
T.
Q.E.D.
[ 11.7134115 0.218619792 ]
MONOTONE-QUOT
(PROVE-LEMMA LEQ-QUOT-TIMES-2 NIL
(IMPLIES (LEQ J (QUOTIENT P 2.))
(LEQ (QUOTIENT (TIMES J Q) P)
(QUOTIENT Q 2.)))
((USE (LEQ-QUOT-TIMES)
(MONOTONE-QUOT (J (TIMES J Q))
(I (TIMES (QUOTIENT P 2.) Q)))
(LESSP-TIMES-CANCELLATION (X J)
(Y (QUOTIENT P 2.))
(Z Q)))
(DISABLE LESSP-TIMES-CANCELLATION)))
This formula simplifies, applying COMMUTATIVITY-OF-TIMES, EQUAL-LESSP,
TIMES-ZERO2, and TIMES-IDENTITY, and opening up IMPLIES, ZEROP, NOT,
AND, LESSP, NUMBERP, EQUAL, and QUOTIENT, to the following four new
goals:
Case 4. (IMPLIES (AND ( LEQ
(QUOTIENT (TIMES Q (QUOTIENT P 2)) P)
(QUOTIENT Q 2))
(LESSP (TIMES Q (QUOTIENT P 2))
(TIMES J Q))
( LEQ
(TIMES Q (QUOTIENT P 2))
(TIMES J Q))
( LEQ (QUOTIENT P 2) J)
( LEQ J (QUOTIENT P 2)))
( LEQ
(QUOTIENT (TIMES J Q) P)
(QUOTIENT Q 2))),
which we again simplify, using linear arithmetic, to the following
two new formulas:
Case 4.2.
(IMPLIES (AND (NOT (NUMBERP J))
( LEQ
(QUOTIENT (TIMES Q (QUOTIENT P 2)) P)
(QUOTIENT Q 2))
(LESSP (TIMES Q (QUOTIENT P 2))
(TIMES J Q))
( LEQ
(TIMES Q (QUOTIENT P 2))
(TIMES J Q))
( LEQ (QUOTIENT P 2) J)
( LEQ J (QUOTIENT P 2)))
( LEQ
(QUOTIENT (TIMES J Q) P)
(QUOTIENT Q 2))).
But this simplifies again, rewriting with EQUAL-TIMES-0, and
unfolding the definition of LESSP, to:
T.
Case 4.1.
(IMPLIES (AND (NUMBERP J)
( LEQ
(QUOTIENT (TIMES Q (QUOTIENT P 2)) P)
(QUOTIENT Q 2))
(LESSP (TIMES Q (QUOTIENT P 2))
(TIMES (QUOTIENT P 2) Q))
( LEQ
(TIMES Q (QUOTIENT P 2))
(TIMES (QUOTIENT P 2) Q))
( LEQ (QUOTIENT P 2) (QUOTIENT P 2))
( LEQ
(QUOTIENT P 2)
(QUOTIENT P 2)))
( LEQ
(QUOTIENT (TIMES (QUOTIENT P 2) Q) P)
(QUOTIENT Q 2))).
This simplifies again, applying COMMUTATIVITY-OF-TIMES, to:
T.
Case 3. (IMPLIES (AND ( LEQ
(QUOTIENT (TIMES Q (QUOTIENT P 2)) P)
(QUOTIENT Q 2))
(LESSP (TIMES Q (QUOTIENT P 2))
(TIMES J Q))
(LESSP (TIMES J Q)
(TIMES Q (QUOTIENT P 2)))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(LESSP J (QUOTIENT P 2))
( LEQ J (QUOTIENT P 2)))
( LEQ
(QUOTIENT (TIMES J Q) P)
(QUOTIENT Q 2))),
which again simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND ( LEQ
(QUOTIENT (TIMES Q (QUOTIENT P 2)) P)
(QUOTIENT Q 2))
( LEQ
(QUOTIENT (TIMES J Q) P)
(QUOTIENT (TIMES Q (QUOTIENT P 2))
P))
( LEQ
(TIMES Q (QUOTIENT P 2))
(TIMES J Q))
( LEQ (QUOTIENT P 2) J)
( LEQ J (QUOTIENT P 2)))
( LEQ
(QUOTIENT (TIMES J Q) P)
(QUOTIENT Q 2))),
which we again simplify, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND ( LEQ
(QUOTIENT (TIMES Q (QUOTIENT P 2)) P)
(QUOTIENT Q 2))
( LEQ
(QUOTIENT (TIMES J Q) P)
(QUOTIENT (TIMES Q (QUOTIENT P 2))
P))
(LESSP (TIMES J Q)
(TIMES Q (QUOTIENT P 2)))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(LESSP J (QUOTIENT P 2))
( LEQ J (QUOTIENT P 2)))
( LEQ
(QUOTIENT (TIMES J Q) P)
(QUOTIENT Q 2))).
However this again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 46.7591147 0.350911457 ]
LEQ-QUOT-TIMES-2
(PROVE-LEMMA LEQ-QUOT-WINS1-1 NIL
(IMPLIES (NOT (DIVIDES P X))
(LESSP (TIMES (QUOTIENT X P) P) X)))
This conjecture can be simplified, using the abbreviations NOT,
IMPLIES, and DIVIDES, to the new conjecture:
(IMPLIES (NOT (EQUAL (REMAINDER X P) 0))
(LESSP (TIMES (QUOTIENT X P) P) X)).
This simplifies, appealing to the lemma COMMUTATIVITY-OF-TIMES, to:
(IMPLIES (NOT (EQUAL (REMAINDER X P) 0))
(LESSP (TIMES P (QUOTIENT X P)) X)).
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, replace X by
(PLUS Z (TIMES P V)) to eliminate (REMAINDER X P) and (QUOTIENT X P).
We rely upon LESSP-REMAINDER2, the type restriction lemma noted when
REMAINDER was introduced, and the type restriction lemma noted when
QUOTIENT was introduced to restrict the new variables. We would thus
like to prove four new conjectures:
Case 4. (IMPLIES (AND (NOT (NUMBERP X))
(NOT (EQUAL (REMAINDER X P) 0)))
(LESSP (TIMES P (QUOTIENT X P)) X)),
which further simplifies, unfolding the functions LESSP, REMAINDER,
and EQUAL, to:
T.
Case 3. (IMPLIES (AND (EQUAL P 0)
(NOT (EQUAL (REMAINDER X P) 0)))
(LESSP (TIMES P (QUOTIENT X P)) X)).
However this further simplifies, opening up the functions EQUAL,
REMAINDER, QUOTIENT, TIMES, and LESSP, to:
T.
Case 2. (IMPLIES (AND (NOT (NUMBERP P))
(NOT (EQUAL (REMAINDER X P) 0)))
(LESSP (TIMES P (QUOTIENT X P)) X)),
which further simplifies, rewriting with REMAINDER-WRT-12,
TIMES-ZERO2, and COMMUTATIVITY-OF-TIMES, and expanding QUOTIENT,
EQUAL, and LESSP, to:
T.
Case 1. (IMPLIES (AND (NUMBERP Z)
(EQUAL (LESSP Z P) (NOT (ZEROP P)))
(NUMBERP V)
(NUMBERP P)
(NOT (EQUAL P 0))
(NOT (EQUAL Z 0)))
(LESSP (TIMES P V)
(PLUS Z (TIMES P V)))),
which we further simplify, using linear arithmetic, to:
T.
Q.E.D.
[ 6.47408855 0.21796875 ]
LEQ-QUOT-WINS1-1
(PROVE-LEMMA LEQ-QUOT-WINS1-2 NIL
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P Q))
(NOT (ZEROP Q))
(NOT (ZEROP J))
(LESSP J P))
(LESSP (TIMES (QUOTIENT (TIMES J Q) P) P)
(TIMES J Q)))
((USE (LEQ-QUOT-WINS1-1 (X (TIMES J Q))))
(DISABLE PRIME QUOTIENT TIMES)))
This formula can be simplified, using the abbreviations ZEROP, NOT,
AND, IMPLIES, and DIVIDES, to:
(IMPLIES
(AND (IMPLIES (NOT (EQ∃AL (REMAINDER (TIMES J Q) P) 0))
(LESSP (TIMES (QUOTIENT (TIMES J Q) P) P)
(TIMES J Q)))
(PRIME P)
(NOT (EQUAL (REMAINDER Q P) 0))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL J 0))
(NUMBERP J)
(LESSP J P))
(LESSP (TIMES (QUOTIENT (TIMES J Q) P) P)
(TIMES J Q))).
This simplifies, appealing to the lemmas PRIME-KEY-REWRITE and
COMMUTATIVITY-OF-TIMES, and expanding REMAINDER, NOT, and IMPLIES, to:
T.
Q.E.D.
[ 8.6130208 0.070963542 ]
LEQ-QUOT-WINS1-2
(PROVE-LEMMA LEQ-QUOT-WINS1 NIL
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P Q))
(LEQ J (QUOTIENT P 2.))
(NOT (ZEROP J))
(NOT (ZEROP Q)))
(LEQ (QUOTIENT (TIMES J Q) P)
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2.) P))))
((USE (LEQ-QUOT-TIMES-2)
(MONOTONE-WINS1 (A (TIMES J Q))
(N (QUOTIENT (TIMES J Q) P))
(M (QUOTIENT Q 2.)))
(LEQ-N-WINS1 (A (TIMES J Q))
(N (QUOTIENT (TIMES J Q) P)))
(LEQ-QUOT-WINS1-2))
(DISABLE PRIME)))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
IMPLIES, AND, and DIVIDES, to the new conjecture:
(IMPLIES
(AND
(IMPLIES (IF (LESSP (QUOTIENT P 2) J) F T)
(IF (LESSP (QUOTIENT Q 2)
(QUOTIENT (TIMES J Q) P))
F
T))
(IMPLIES
(IF (LESSP (QUOTIENT Q 2)
(QUOTIENT (TIMES J Q) P))
F
T)
(IF (LESSP (WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P))
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT (TIMES J Q) P) P)))
F
T))
(IMPLIES (LESSP (TIMES (QUOTIENT (TIMES J Q) P) P)
(TIMES J Q))
(IF (LESSP (WINS1 (TIMES J Q)
(MULTS (QUOTIENT (TIMES J Q) P) P))
(QUOTIENT (TIMES J Q) P))
F
T))
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER Q P) 0))
(AND (NOT (ZEROP Q))
(AND (NOT (ZEROP J)) (LESSP J P)))))
(LESSP (TIMES (QUOTIENT (TIMES J Q) P) P)
(TIMES J Q)))
(PRIME P)
(NOT (EQUAL (REMAINDER Q P) 0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL Q 0))
(NUMBERP Q))
( LEQ
(QUOTIENT (TIMES J Q) P)
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))).
This simplifies, appealing to the lemma COMMUTATIVITY-OF-TIMES, and
expanding IMPLIES, NOT, ZEROP, and AND, to the following three new
conjectures:
Case 3. (IMPLIES (AND ( LEQ
(QUOTIENT (TIMES J Q) P)
(QUOTIENT Q 2))
( LEQ
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT (TIMES J Q) P) P))
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))
( LEQ
(TIMES J Q)
(TIMES P (QUOTIENT (TIMES J Q) P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER Q P) 0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL Q 0))
(NUMBERP Q))
( LEQ
(QUOTIENT (TIMES J Q) P)
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))).
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace Q by
(PLUS Z (TIMES 2 X)) to eliminate (QUOTIENT Q 2) and
(REMAINDER Q 2). We rely upon LESSP-REMAINDER2, the type
restriction lemma noted when QUOTIENT was introduced, and the type
restriction lemma noted when REMAINDER was introduced to constrain
the new variables. We thus obtain the following three new formulas:
Case 3.3.
(IMPLIES (AND (EQUAL 2 0)
( LEQ
(QUOTIENT (TIMES J Q) P)
(QUOTIENT Q 2))
( LEQ
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT (TIMES J Q) P) P))
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))
( LEQ
(TIMES J Q)
(TIMES P (QUOTIENT (TIMES J Q) P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER Q P) 0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL Q 0))
(NUMBERP Q))
( LEQ
(QUOTIENT (TIMES J Q) P)
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))),
which further simplifies, using linear arithmetic, to:
T.
Case 3.2.
(IMPLIES (AND (NOT (NUMBERP 2))
( LEQ
(QUOTIENT (TIMES J Q) P)
(QUOTIENT Q 2))
( LEQ
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT (TIMES J Q) P) P))
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))
( LEQ
(TIMES J Q)
(TIMES P (QUOTIENT (TIMES J Q) P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER Q P) 0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL Q 0))
(NUMBERP Q))
( LEQ
(QUOTIENT (TIMES J Q) P)
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))),
which further simplifies, trivially, to:
T.
Case 3.1.
(IMPLIES
(AND
(NUMBERP X)
(NUMBERP Z)
(EQUAL (LESSP Z 2) (NOT (ZEROP 2)))
(NOT (EQUAL 2 0))
( LEQ
(QUOTIENT (TIMES J (PLUS Z (TIMES 2 X)))
P)
X)
( LEQ
(WINS1 (TIMES J (PLUS Z (TIMES 2 X)))
(MULTS (QUOTIENT (TIMES J (PLUS Z (TIMES 2 X)))
P)
P))
(WINS1 (TIMES J (PLUS Z (TIMES 2 X)))
(MULTS X P)))
( LEQ
(TIMES J (PLUS Z (TIMES 2 X)))
(TIMES P
(QUOTIENT (TIMES J (PLUS Z (TIMES 2 X)))
P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER (PLUS Z (TIMES 2 X)) P)
0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL (PLUS Z (TIMES 2 X)) 0)))
( LEQ
(QUOTIENT (TIMES J (PLUS Z (TIMES 2 X)))
P)
(WINS1 (TIMES J (PLUS Z (TIMES 2 X)))
(MULTS X P)))).
However this further simplifies, rewriting with TIMES-2,
COMMUTATIVITY-OF-PLUS, COMMUTATIVITY2-OF-PLUS,
DISTRIBUTIVITY-OF-TIMES-OVER-PLUS, and PLUS-EQUAL-0, and
expanding ZEROP, NOT, and EQUAL, to two new formulas:
Case 3.1.2.
(IMPLIES
(AND
(NUMBERP X)
(NUMBERP Z)
(LESSP Z 2)
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
X)
( LEQ
(WINS1
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS (QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
P))
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS X P)))
( LEQ
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(TIMES P
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER (PLUS X (PLUS X Z)) P)
0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL X 0)))
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS X P)))).
Applying the lemma REMAINDER-QUOTIENT-ELIM, replace P by
(PLUS W (TIMES 2 V)) to eliminate (QUOTIENT P 2) and
(REMAINDER P 2). We rely upon LESSP-REMAINDER2, the type
restriction lemma noted when QUOTIENT was introduced, and the
type restriction lemma noted when REMAINDER was introduced to
constrain the new variables. We thus obtain four new formulas:
Case 3.1.2.4.
(IMPLIES
(AND
(NOT (NUMBERP P))
(NUMBERP X)
(NUMBERP Z)
(LESSP Z 2)
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
X)
( LEQ
(WINS1
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
P))
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS X P)))
( LEQ
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(TIMES P
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER (PLUS X (PLUS X Z)) P)
0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL X 0)))
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS X P)))).
This further simplifies, rewriting with TIMES-ZERO2,
COMMUTATIVITY-OF-TIMES, PLUS-EQUAL-0, and EQUAL-TIMES-0, and
expanding the definitions of QUOTIENT, EQUAL, LESSP, MULTS,
LISTP, and WINS1, to:
T.
Case 3.1.2.3.
(IMPLIES
(AND
(EQUAL 2 0)
(NUMBERP X)
(NUMBERP Z)
(LESSP Z 2)
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
X)
( LEQ
(WINS1
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
P))
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS X P)))
( LEQ
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(TIMES P
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER (PLUS X (PLUS X Z)) P)
0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL X 0)))
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS X P)))).
However this further simplifies, using linear arithmetic, to:
T.
Case 3.1.2.2.
(IMPLIES
(AND
(NOT (NUMBERP 2))
(NUMBERP X)
(NUMBERP Z)
(LESSP Z 2)
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
X)
( LEQ
(WINS1
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
P))
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS X P)))
( LEQ
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(TIMES P
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER (PLUS X (PLUS X Z)) P)
0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL X 0)))
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS X P)))),
which we further simplify, obviously, to:
T.
Case 3.1.2.1.
(IMPLIES
(AND
(NUMBERP V)
(NUMBERP W)
(EQUAL (LESSP W 2) (NOT (ZEROP 2)))
(NOT (EQUAL 2 0))
(NUMBERP X)
(NUMBERP Z)
(LESSP Z 2)
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(PLUS W (TIMES 2 V)))
X)
( LEQ
(WINS1
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(PLUS W (TIMES 2 V)))
(PLUS W (TIMES 2 V))))
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS X (PLUS W (TIMES 2 V)))))
( LEQ
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(TIMES
(PLUS W (TIMES 2 V))
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(PLUS W (TIMES 2 V)))))
( LEQ (PLUS W (TIMES 2 V)) J)
(PRIME (PLUS W (TIMES 2 V)))
(NOT (EQUAL (REMAINDER (PLUS X (PLUS X Z))
(PLUS W (TIMES 2 V)))
0))
( LEQ J V)
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL X 0)))
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(PLUS W (TIMES 2 V)))
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS X (PLUS W (TIMES 2 V)))))),
which we further simplify, using linear arithmetic, to:
T.
Case 3.1.1.
(IMPLIES
(AND
(NUMBERP X)
(NUMBERP Z)
(LESSP Z 2)
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
X)
( LEQ
(WINS1
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS (QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
P))
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS X P)))
( LEQ
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(TIMES P
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER (PLUS X (PLUS X Z)) P)
0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL Z 0)))
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
P)
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J Z)))
(MULTS X P)))).
However this simplifies again, using linear arithmetic, to the
conjecture:
(IMPLIES
(AND
(NUMBERP X)
(NUMBERP 1)
(LESSP 1 2)
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J 1)))
P)
X)
( LEQ
(WINS1
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J 1)))
(MULTS
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J 1)))
P)
P))
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J 1)))
(MULTS X P)))
( LEQ
(PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J 1)))
(TIMES P
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J 1)))
P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER (PLUS X (PLUS X 1)) P)
0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL 1 0)))
( LEQ
(QUOTIENT (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J 1)))
P)
(WINS1 (PLUS (TIMES J X)
(PLUS (TIMES J X) (TIMES J 1)))
(MULTS X P)))),
which again simplifies, rewriting with TIMES-1,
COMMUTATIVITY-OF-TIMES, COMMUTATIVITY-OF-PLUS, and
COMMUTATIVITY2-OF-PLUS, and expanding the definitions of
NUMBERP, LESSP, and EQUAL, to the new goal:
(IMPLIES
(AND
(NUMBERP X)
( LEQ
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)
X)
( LEQ
(WINS1
(PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS (QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)
P))
(WINS1 (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS X P)))
( LEQ
(PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(TIMES P
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER (PLUS 1 (PLUS X X)) P)
0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J))
( LEQ
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)
(WINS1 (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS X P)))).
Applying the lemma REMAINDER-QUOTIENT-ELIM, replace P by
(PLUS V (TIMES 2 Z)) to eliminate (QUOTIENT P 2) and
(REMAINDER P 2). We rely upon LESSP-REMAINDER2, the type
restriction lemma noted when QUOTIENT was introduced, and the
type restriction lemma noted when REMAINDER was introduced to
constrain the new variables. This generates the following four
new goals:
Case 3.1.1.4.
(IMPLIES
(AND
(NOT (NUMBERP P))
(NUMBERP X)
( LEQ
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)
X)
( LEQ
(WINS1
(PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)
P))
(WINS1 (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS X P)))
( LEQ
(PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(TIMES P
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER (PLUS 1 (PLUS X X)) P)
0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J))
( LEQ
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)
(WINS1 (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS X P)))),
which we finally simplify, applying the lemmas TIMES-ZERO2,
COMMUTATIVITY-OF-TIMES, and PLUS-EQUAL-0, and opening up the
functions QUOTIENT, EQUAL, LESSP, MULTS, LISTP, and WINS1, to:
T.
Case 3.1.1.3.
(IMPLIES
(AND
(EQUAL 2 0)
(NUMBERP X)
( LEQ
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)
X)
( LEQ
(WINS1
(PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)
P))
(WINS1 (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS X P)))
( LEQ
(PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(TIMES P
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER (PLUS 1 (PLUS X X)) P)
0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J))
( LEQ
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)
(WINS1 (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS X P)))),
which we finally simplify, using linear arithmetic, to:
T.
Case 3.1.1.2.
(IMPLIES
(AND
(NOT (NUMBERP 2))
(NUMBERP X)
( LEQ
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)
X)
( LEQ
(WINS1
(PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)
P))
(WINS1 (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS X P)))
( LEQ
(PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(TIMES P
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER (PLUS 1 (PLUS X X)) P)
0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J))
( LEQ
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
P)
(WINS1 (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS X P)))),
which we finally simplify, obviously, to:
T.
Case 3.1.1.1.
(IMPLIES
(AND
(NUMBERP Z)
(NUMBERP V)
(EQUAL (LESSP V 2) (NOT (ZEROP 2)))
(NOT (EQUAL 2 0))
(NUMBERP X)
( LEQ
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(PLUS V (TIMES 2 Z)))
X)
( LEQ
(WINS1
(PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(PLUS V (TIMES 2 Z)))
(PLUS V (TIMES 2 Z))))
(WINS1 (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS X (PLUS V (TIMES 2 Z)))))
( LEQ
(PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(TIMES
(PLUS V (TIMES 2 Z))
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(PLUS V (TIMES 2 Z)))))
( LEQ (PLUS V (TIMES 2 Z)) J)
(PRIME (PLUS V (TIMES 2 Z)))
(NOT (EQUAL (REMAINDER (PLUS 1 (PLUS X X))
(PLUS V (TIMES 2 Z)))
0))
( LEQ J Z)
(NOT (EQUAL J 0))
(NUMBERP J))
( LEQ
(QUOTIENT (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(PLUS V (TIMES 2 Z)))
(WINS1 (PLUS J
(PLUS (TIMES J X) (TIMES J X)))
(MULTS X (PLUS V (TIMES 2 Z)))))),
which finally simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND ( LEQ
(QUOTIENT (TIMES J Q) P)
(QUOTIENT Q 2))
( LEQ
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT (TIMES J Q) P) P))
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))
( LEQ
(QUOTIENT (TIMES J Q) P)
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT (TIMES J Q) P) P)))
( LEQ P J)
(PRIME P)
(NOT (EQUAL (REMAINDER Q P) 0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL Q 0))
(NUMBERP Q))
( LEQ
(QUOTIENT (TIMES J Q) P)
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))),
which again simplifies, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND ( LEQ
(QUOTIENT (TIMES J Q) P)
(QUOTIENT Q 2))
( LEQ
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT (TIMES J Q) P) P))
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))
( LEQ
(QUOTIENT (TIMES J Q) P)
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT (TIMES J Q) P) P)))
(LESSP (TIMES P (QUOTIENT (TIMES J Q) P))
(TIMES J Q))
(PRIME P)
(NOT (EQUAL (REMAINDER Q P) 0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL Q 0))
(NUMBERP Q))
( LEQ
(QUOTIENT (TIMES J Q) P)
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))).
But this again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 119.996354 3.08346355 ]
LEQ-QUOT-WINS1
(DEFN WINS2
(A N P)
(IF (ZEROP N)
0.
(IF (LESSP (TIMES N P) A)
N
(WINS2 A (SUB1 N) P))))
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition
of ZEROP establish that the measure (COUNT N) decreases according to
the well-founded relation LESSP in each recursive call. Hence, WINS2
is accepted under the principle of definition. Observe that
(NUMBERP (WINS2 A N P)) is a theorem.
[ 0.366015624 0.04296875 ]
WINS2
(PROVE-LEMMA LEQ-WINS2 NIL
(LEQ (TIMES (WINS2 A N P) P) A))
This conjecture simplifies, rewriting with COMMUTATIVITY-OF-TIMES, to
the new conjecture:
( LEQ (TIMES P (WINS2 A N P)) A).
Call the above conjecture *1.
Let us appeal to the induction principle. There are two
plausible inductions. However, only one is unflawed. We will induct
according to the following scheme:
(AND (IMPLIES (ZEROP N) (P A P N))
(IMPLIES (AND (NOT (ZEROP N))
(LESSP (TIMES N P) A))
(P A P N))
(IMPLIES (AND (NOT (ZEROP N))
( LEQ A (TIMES N P))
(P A P (SUB1 N)))
(P A P N))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of
ZEROP establish that the measure (COUNT N) decreases according to the
well-founded relation LESSP in each induction step of the scheme.
The above induction scheme generates three new goals:
Case 3. (IMPLIES (ZEROP N)
( LEQ (TIMES P (WINS2 A N P)) A)).
This simplifies, rewriting with the lemmas COMMUTATIVITY-OF-TIMES
and TIMES-IDENTITY, and unfolding the functions ZEROP, EQUAL, WINS2,
and LESSP, to:
T.
Case 2. (IMPLIES (AND (NOT (ZEROP N))
(LESSP (TIMES N P) A))
( LEQ (TIMES P (WINS2 A N P)) A)).
This simplifies, rewriting with COMMUTATIVITY-OF-TIMES, and
expanding ZEROP and WINS2, to:
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
(LESSP (TIMES N P) A))
( LEQ (TIMES N P) A)),
which we again simplify, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP N))
( LEQ A (TIMES N P))
( LEQ
(TIMES P (WINS2 A (SUB1 N) P))
A))
( LEQ (TIMES P (WINS2 A N P)) A)),
which we simplify, expanding the definitions of ZEROP and WINS2, to:
T.
That finishes the proof of *1. Q.E.D.
[ 1.96692708 0.2421875 ]
LEQ-WINS2
(PROVE-LEMMA LEQ-WINS1-N NIL
(LEQ (WINS1 A (MULTS N P)) N))
Name the conjecture *1.
Perhaps we can prove it by induction. The recursive terms in
the conjecture suggest two inductions. However, they merge into one
likely candidate induction. We will induct according to the
following scheme:
(AND
(IMPLIES (OR (EQUAL (WINS1 A (MULTS N P)) 0)
(NOT (NUMBERP (WINS1 A (MULTS N P)))))
(P N A P))
(IMPLIES (AND (NOT (OR (EQUAL (WINS1 A (MULTS N P)) 0)
(NOT (NUMBERP (WINS1 A (MULTS N P))))))
(OR (EQUAL N 0) (NOT (NUMBERP N))))
(P N A P))
(IMPLIES (AND (NOT (OR (EQUAL (WINS1 A (MULTS N P)) 0)
(NOT (NUMBERP (WINS1 A (MULTS N P))))))
(NOT (OR (EQUAL N 0) (NOT (NUMBERP N))))
(P (SUB1 N) A P))
(P N A P))).
Linear arithmetic, the lemmas SUB1-LESSEQP and SUB1-LESSP, and the
definitions of OR and NOT inform us that the measure (COUNT N)
decreases according to the well-founded relation LESSP in each
induction step of the scheme. The above induction scheme produces
three new formulas:
Case 3. (IMPLIES (OR (EQUAL (WINS1 A (MULTS N P)) 0)
(NOT (NUMBERP (WINS1 A (MULTS N P)))))
( LEQ (WINS1 A (MULTS N P)) N)).
This simplifies, applying the lemmas CDR-CONS and CAR-CONS, and
expanding the definitions of MULTS, NOT, OR, WINS1, EQUAL, LISTP,
and LESSP, to two new formulas:
Case 3.2.
(IMPLIES
(AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (WINS1 A
(CONS (TIMES N P) (MULTS (SUB1 N) P)))
0)
( LEQ A (TIMES N P)))
( LEQ
(WINS1 A (MULTS (SUB1 N) P))
N)),
which we again simplify, rewriting with CDR-CONS and CAR-CONS,
and unfolding the functions WINS1, EQUAL, and LESSP, to:
T.
Case 3.1.
(IMPLIES
(AND (NOT (EQUAL N 0))
(NUMBERP N)
(EQUAL (WINS1 A
(CONS (TIMES N P) (MULTS (SUB1 N) P)))
0)
(LESSP (TIMES N P) A))
( LEQ
(ADD1 (WINS1 A (MULTS (SUB1 N) P)))
N)).
But this simplifies again, applying CDR-CONS and CAR-CONS, and
unfolding the definition of WINS1, to:
T.
Case 2. (IMPLIES (AND (NOT (OR (EQUAL (WINS1 A (MULTS N P)) 0)
(NOT (NUMBERP (WINS1 A (MULTS N P))))))
(OR (EQUAL N 0) (NOT (NUMBERP N))))
( LEQ (WINS1 A (MULTS N P)) N)),
which we simplify, unfolding the definitions of MULTS, NOT, OR,
EQUAL, NUMBERP, LISTP, WINS1, and LESSP, to:
T.
Case 1. (IMPLIES (AND (NOT (OR (EQUAL (WINS1 A (MULTS N P)) 0)
(NOT (NUMBERP (WINS1 A (MULTS N P))))))
(NOT (OR (EQUAL N 0) (NOT (NUMBERP N))))
( LEQ
(WINS1 A (MULTS (SUB1 N) P))
(SUB1 N)))
( LEQ (WINS1 A (MULTS N P)) N)).
This simplifies, applying CDR-CONS and CAR-CONS, and opening up
MULTS, NOT, OR, WINS1, EQUAL, and NUMBERP, to two new formulas:
Case 1.2.
(IMPLIES
(AND
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (EQUAL (WINS1 A
(CONS (TIMES N P) (MULTS (SUB1 N) P)))
0))
( LEQ
(WINS1 A (MULTS (SUB1 N) P))
(SUB1 N))
( LEQ A (TIMES N P)))
( LEQ
(WINS1 A (MULTS (SUB1 N) P))
N)),
which again simplifies, using linear arithmetic, to:
T.
Case 1.1.
(IMPLIES
(AND
(NOT (EQUAL N 0))
(NUMBERP N)
(NOT (EQUAL (WINS1 A
(CONS (TIMES N P) (MULTS (SUB1 N) P)))
0))
( LEQ
(WINS1 A (MULTS (SUB1 N) P))
(SUB1 N))
(LESSP (TIMES N P) A))
( LEQ
(ADD1 (WINS1 A (MULTS (SUB1 N) P)))
N)),
which we again simplify, using linear arithmetic, to:
T.
That finishes the proof of *1. Q.E.D.
[ 4.33723956 0.437760416 ]
LEQ-WINS1-N
(PROVE-LEMMA LEQ-WINS1-WINS2 NIL
(LEQ (WINS1 A (MULTS N P))
(WINS2 A N P))
((USE (LEQ-WINS1-N))
(INDUCT (WINS2 A N P))))
This simplifies, rewriting with CDR-CONS, CAR-CONS, TIMES-IDENTITY,
EQUAL-TIMES-0, and SUB1-NNUMBERP, and opening up the definitions of
MULTS, ZEROP, NOT, WINS2, WINS1, OR, AND, EQUAL, LISTP, LESSP, and
SUB1, to:
(IMPLIES (AND (NOT (EQUAL N 0))
(NUMBERP N)
( LEQ
(WINS1 A
(CONS (TIMES N P) (MULTS (SUB1 N) P)))
N)
(LESSP (TIMES N P) A))
( LEQ
(ADD1 (WINS1 A (MULTS (SUB1 N) P)))
N)).
However this again simplifies, applying the lemmas CDR-CONS, CAR-CONS,
and SUB1-ADD1, and unfolding WINS1 and LESSP, to:
T.
Q.E.D.
[ 7.0371094 0.077994792 ]
LEQ-WINS1-WINS2
(PROVE-LEMMA LEQ-WINS1 NIL
(LEQ (TIMES (WINS1 A (MULTS N P)) P)
A)
((USE (LEQ-WINS2)
(LEQ-WINS1-WINS2)
(LESSP-TIMES-CANCELLATION (X (WINS1 A (MULTS N P)))
(Y (WINS2 A N P))
(Z P)))
(DISABLE LESSP-TIMES-CANCELLATION)))
This simplifies, applying the lemmas COMMUTATIVITY-OF-TIMES,
EQUAL-LESSP, EQUAL-TIMES-0, and TIMES-IDENTITY, and expanding the
definitions of ZEROP, NOT, AND, LESSP, and EQUAL, to two new goals:
Case 2. (IMPLIES (AND ( LEQ (TIMES P (WINS2 A N P)) A)
( LEQ
(WINS1 A (MULTS N P))
(WINS2 A N P))
( LEQ
(TIMES P (WINS2 A N P))
(TIMES P (WINS1 A (MULTS N P))))
( LEQ
(WINS2 A N P)
(WINS1 A (MULTS N P))))
( LEQ
(TIMES P (WINS1 A (MULTS N P)))
A)),
which we again simplify, using linear arithmetic, to:
(IMPLIES (AND (EQUAL (WINS1 A (MULTS N P))
(WINS2 A N P))
( LEQ (TIMES P (WINS2 A N P)) A)
( LEQ (WINS2 A N P) (WINS2 A N P))
( LEQ
(TIMES P (WINS2 A N P))
(TIMES P (WINS2 A N P)))
( LEQ (WINS2 A N P) (WINS2 A N P)))
( LEQ (TIMES P (WINS2 A N P)) A)).
This again simplifies, clearly, to:
T.
Case 1. (IMPLIES (AND ( LEQ (TIMES P (WINS2 A N P)) A)
( LEQ
(WINS1 A (MULTS N P))
(WINS2 A N P))
(LESSP (TIMES P (WINS1 A (MULTS N P)))
(TIMES P (WINS2 A N P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(LESSP (WINS1 A (MULTS N P))
(WINS2 A N P)))
( LEQ
(TIMES P (WINS1 A (MULTS N P)))
A)),
which we again simplify, using linear arithmetic, to:
T.
Q.E.D.
[ 4.1252604 0.149869792 ]
LEQ-WINS1
(PROVE-LEMMA LEQ-WINS1-QUOT NIL
(IMPLIES (NOT (ZEROP P))
(LEQ (WINS1 A (MULTS N P))
(QUOTIENT A P)))
((USE (MONOTONE-QUOT (I A)
(J (TIMES (WINS1 A (MULTS N P)) P)))
(LEQ-WINS1))))
This formula can be simplified, using the abbreviations ZEROP, NOT,
IMPLIES, and AND, to:
(IMPLIES
(AND
(IMPLIES (IF (LESSP A
(TIMES (WINS1 A (MULTS N P)) P))
F
T)
(IF (LESSP (QUOTIENT A P)
(QUOTIENT (TIMES (WINS1 A (MULTS N P)) P)
P))
F
T))
( LEQ
(TIMES (WINS1 A (MULTS N P)) P)
A)
(NOT (EQUAL P 0))
(NUMBERP P))
( LEQ
(WINS1 A (MULTS N P))
(QUOTIENT A P))),
which simplifies, applying the lemmas COMMUTATIVITY-OF-TIMES and
QUOTIENT-TIMES, and unfolding IMPLIES, to:
T.
Q.E.D.
[ 1.44479166 0.095182291 ]
LEQ-WINS1-QUOT
(PROVE-LEMMA EQUAL-QUOT-WINS1
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P Q))
(LEQ J (QUOTIENT P 2.))
(NOT (ZEROP J))
(NOT (ZEROP Q)))
(EQUAL (WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2.) P))
(QUOTIENT (TIMES J Q) P)))
((USE (LEQ-QUOT-WINS1)
(LEQ-WINS1-QUOT (A (TIMES J Q))
(N (QUOTIENT Q 2.))))))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
PRIME, IMPLIES, AND, and DIVIDES, to:
(IMPLIES
(AND
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER Q P) 0))
(AND (IF (LESSP (QUOTIENT P 2) J) F T)
(AND (NOT (ZEROP J))
(NOT (ZEROP Q))))))
(IF (LESSP (WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P))
(QUOTIENT (TIMES J Q) P))
F
T))
(IMPLIES (NOT (ZEROP P))
(IF (LESSP (QUOTIENT (TIMES J Q) P)
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))
F
T))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER Q P) 0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL Q 0))
(NUMBERP Q))
(EQUAL (WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P))
(QUOTIENT (TIMES J Q) P))).
This simplifies, expanding PRIME, NOT, ZEROP, AND, and IMPLIES, to:
(IMPLIES (AND ( LEQ
(QUOTIENT (TIMES J Q) P)
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P)))
( LEQ
(WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P))
(QUOTIENT (TIMES J Q) P))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER Q P) 0))
( LEQ J (QUOTIENT P 2))
(NOT (EQUAL J 0))
(NUMBERP J)
(NOT (EQUAL Q 0))
(NUMBERP Q))
(EQUAL (WINS1 (TIMES J Q)
(MULTS (QUOTIENT Q 2) P))
(QUOTIENT (TIMES J Q) P))),
which again simplifies, using linear arithmetic, to:
T.
Q.E.D.
[ 43.9028645 0.162890624 ]
EQUAL-QUOT-WINS1
(PROVE-LEMMA EQUAL-WINS-PLUS-QUOT-LIST
(REWRITE)
(IMPLIES (AND (PRIME P)
(NOT (DIVIDES P Q))
(NOT (ZEROP Q))
(NOT (ZEROP J))
(LEQ J (QUOTIENT P 2.)))
(EQUAL (WINS (MULTS J Q)
(MULTS (QUOTIENT Q 2.) P))
(PLUS-LIST (QUOT-LIST J Q P))))
((INDUCT (MULTS J Q))))
This conjecture can be simplified, using the abbreviations ZEROP,
PRIME, IMPLIES, NOT, OR, AND, and DIVIDES, to two new formulas:
Case 2. (IMPLIES (AND (ZEROP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER Q P) 0))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL J 0))
(NUMBERP J)
( LEQ J (QUOTIENT P 2)))
(EQUAL (WINS (MULTS J Q)
(MULTS (QUOTIENT Q 2) P))
(PLUS-LIST (QUOT-LIST J Q P)))).
This simplifies, expanding the definition of ZEROP, to:
T.
Case 1. (IMPLIES
(AND
(NOT (EQUAL J 0))
(NUMBERP J)
(IMPLIES
(AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER Q P) 0))
(AND (NOT (ZEROP Q))
(AND (NOT (ZEROP (SUB1 J)))
(IF (LESSP (QUOTIENT P 2) (SUB1 J))
F
T)))))
(EQUAL (WINS (MULTS (SUB1 J) Q)
(MULTS (QUOTIENT Q 2) P))
(PLUS-LIST (QUOT-LIST (SUB1 J) Q P))))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER Q P) 0))
(NOT (EQUAL Q 0))
(NUMBERP Q)
( LEQ J (QUOTIENT P 2)))
(EQUAL (WINS (MULTS J Q)
(MULTS (QUOTIENT Q 2) P))
(PLUS-LIST (QUOT-LIST J Q P)))),
which simplifies, using linear arithmetic, applying the lemmas
COMMUTATIVITY-OF-PLUS, CDR-CONS, EQUAL-QUOT-WINS1, CAR-CONS,
COMMUTATIVITY-OF-TIMES, and CORRECTNESS-OF-CANCEL, and unfolding
PRIME, NOT, ZEROP, AND, IMPLIES, MULTS, EQUAL, DIVIDES, WINS, LISTP,
PLUS, QUOT-LIST, PLUS-LIST, and FIX, to:
(IMPLIES (AND (NOT (EQUAL J 0))
(NUMBERP J)
(LESSP (QUOTIENT P 2) (SUB1 J))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL (REMAINDER Q P) 0))
(NOT (EQUAL Q 0))
(NUMBERP Q)
( LEQ J (QUOTIENT P 2)))
(EQUAL (WINS (MULTS (SUB1 J) Q)
(MULTS (QUOTIENT Q 2) P))
(PLUS-LIST (QUOT-LIST (SUB1 J) Q P)))).
This simplifies again, using linear arithmetic, to:
T.
Q.E.D.
[ 99.680208 0.216796875 ]
EQUAL-WINS-PLUS-QUOT-LIST
(PROVE-LEMMA GAUSS-COROLLARY
(REWRITE)
(IMPLIES (AND (PRIME P)
(PRIME Q)
(NOT (EQUAL P 2.))
(NOT (EQUAL Q 2.))
(NOT (EQUAL P Q)))
(EQUAL (RES1 (QUOTIENT P 2.) Q P)
(RESIDUE Q P)))
((USE (GAUSS-LEMMA (A Q)))
(DISABLE RES1 RESIDUE QUOTIENT PRIME1 REMAINDER)))
This formula can be simplified, using the abbreviations NOT, PRIME,
AND, IMPLIES, and DIVIDES, to:
(IMPLIES
(AND (IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER Q P) 0))
(NOT (EQUAL (REMAINDER P 2) 0))))
(EQUAL (RES1 (QUOTIENT P 2) Q P)
(RESIDUE Q P)))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P 2))
(NOT (EQUAL Q 2))
(NOT (EQUAL P Q)))
(EQUAL (RES1 (QUOTIENT P 2) Q P)
(RESIDUE Q P))).
This simplifies, appealing to the lemma LITTLE-STEP, and expanding
PRIME, NOT, EQUAL, AND, and IMPLIES, to:
T.
Q.E.D.
[ 2.2589844 0.109114584 ]
GAUSS-COROLLARY
(PROVE-LEMMA RESIDUE-QUOT-LIST NIL
(IMPLIES
(AND (PRIME P)
(PRIME Q)
(NOT (EQUAL P Q))
(NOT (EQUAL P 2.))
(NOT (EQUAL Q 2.)))
(EQUAL (EQUAL (RESIDUE Q P) (RESIDUE P Q))
(EVEN3 (PLUS (PLUS-LIST (QUOT-LIST (QUOTIENT P 2.) Q P))
(PLUS-LIST (QUOT-LIST (QUOTIENT Q 2.) P Q))))))
((USE (RES1-QUOT-LIST (A Q))
(RES1-QUOT-LIST (A P) (P Q))
(EVEN3-EVEN)
(EVEN3-EVEN (P Q)))
(DISABLE RESIDUE RES1 QUOTIENT QUOT-LIST PLUS-LIST
LESSP-REMAINDER-DIVISOR DIFFERENCE LESSP)))
This conjecture can be simplified, using the abbreviations NOT, PRIME,
IMPLIES, AND, EVEN3-PLUS, and DIVIDES, to:
(IMPLIES
(AND
(IMPLIES
(AND (PRIME P)
(AND (NOT (EVEN3 P))
(AND (NOT (EVEN3 Q))
(NOT (EQUAL (REMAINDER Q P) 0)))))
(EQUAL (RES1 (QUOTIENT P 2) Q P)
(EVEN3 (PLUS-LIST (QUOT-LIST (QUOTIENT P 2) Q P)))))
(IMPLIES
(AND (PRIME Q)
(AND (NOT (EVEN3 Q))
(AND (NOT (EVEN3 P))
(NOT (EQUAL (REMAINDER P Q) 0)))))
(EQUAL (RES1 (QUOTIENT Q 2) P Q)
(EVEN3 (PLUS-LIST (QUOT-LIST (QUOTIENT Q 2) P Q)))))
(EQUAL (EQUAL (REMAINDER P 2) 0)
(EVEN3 P))
(EQUAL (EQUAL (REMAINDER Q 2) 0)
(EVEN3 Q))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q))
(NOT (EQUAL P 2))
(NOT (EQUAL Q 2)))
(EQUAL
(EQUAL (RESIDUE Q P) (RESIDUE P Q))
(EQUAL (EVEN3 (PLUS-LIST (QUOT-LIST (QUOTIENT P 2) Q P)))
(EVEN3 (PLUS-LIST (QUOT-LIST (QUOTIENT Q 2) P Q)))))).
This simplifies, applying LITTLE-STEP and GAUSS-COROLLARY, and
expanding the definitions of PRIME, EVEN3, NOT, AND, IMPLIES, and
EQUAL, to:
T.
Q.E.D.
[ 41.695052 0.125 ]
RESIDUE-QUOT-LIST
(PROVE-LEMMA ALL-NON-ZEROP-MULTS
(REWRITE)
(IMPLIES (NOT (ZEROP P))
(ALL-NON-ZEROP (MULTS N P))))
This conjecture can be simplified, using the abbreviations ZEROP, NOT,
and IMPLIES, to the goal:
(IMPLIES (AND (NOT (EQUAL P 0)) (NUMBERP P))
(ALL-NON-ZEROP (MULTS N P))),
which we will name *1.
Perhaps we can prove it by induction. There is only one
suggested induction. We will induct according to the following
scheme:
(AND (IMPLIES (ZEROP N) (P N P))
(IMPLIES (AND (NOT (ZEROP N)) (P (SUB1 N) P))
(P N P))).
Linear arithmetic, the lemma COUNT-NUMBERP, and the definition of
ZEROP establish that the measure (COUNT N) decreases according to the
well-founded relation LESSP in each induction step of the scheme.
The above induction scheme generates the following two new formulas:
Case 2. (IMPLIES (AND (ZEROP N)
(NOT (EQUAL P 0))
(NUMBERP P))
(ALL-NON-ZEROP (MULTS N P))).
This simplifies, expanding ZEROP, EQUAL, MULTS, and ALL-NON-ZEROP,
to:
T.
Case 1. (IMPLIES (AND (NOT (ZEROP N))
(ALL-NON-ZEROP (MULTS (SUB1 N) P))
(NOT (EQUAL P 0))
(NUMBERP P))
(ALL-NON-ZEROP (MULTS N P))).
This simplifies, applying the lemmas CDR-CONS, EQUAL-TIMES-0, and
CAR-CONS, and expanding the definitions of ZEROP, MULTS, and
ALL-NON-ZEROP, to:
T.
That finishes the proof of *1. Q.E.D.
[ 0.62096354 0.175911458 ]
ALL-NON-ZEROP-MULTS
(MAKE-LIB H-TEMP)
[ 71.516016 0.0 ]
(#FILE-OUT-|DSK:H-TEMP.LIB[BM,CLT]|-71750 #FILE-OUT-|DSK:H-TEMP.LIS[BM,CLT]|-71744)
(NOTE-LIB H-TEMP.LIB H-TEMP.LISP)
[ 39.35 0.0 ]
#FILE-IN-|DSK:H-TEMP.LIB[BM,CLT]|-71740
(PROVE-LEMMA EMPTY-INTERSECT-MULTS-1
(REWRITE)
(IMPLIES (AND (PRIME P)
(PRIME Q)
(NOT (EQUAL P Q))
(LESSP I Q)
(LESSP J P))
(NOT (MEMBER (TIMES I P) (MULTS J Q))))
((INDUCT (MULTS J Q))))
This conjecture can be simplified, using the abbreviations ZEROP,
PRIME, IMPLIES, NOT, OR, and AND, to two new formulas:
Case 2. (IMPLIES (AND (ZEROP J)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q))
(LESSP I Q)
(LESSP J P))
(NOT (MEMBER (TIMES I P) (MULTS J Q)))).
This simplifies, expanding the definitions of ZEROP, EQUAL, LESSP,
MULTS, LISTP, and MEMBER, to:
T.
Case 1. (IMPLIES
(AND (NOT (EQUAL J 0))
(NUMBERP J)
(IMPLIES (AND (PRIME P)
(AND (PRIME Q)
(AND (NOT (EQUAL P Q))
(AND (LESSP I Q)
(LESSP (SUB1 J) P)))))
(NOT (MEMBER (TIMES I P)
(MULTS (SUB1 J) Q))))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q))
(LESSP I Q)
(LESSP J P))
(NOT (MEMBER (TIMES I P) (MULTS J Q)))),
which simplifies, using linear arithmetic, applying the lemmas
CDR-CONS, HACK1, LITTLE-STEP, COMMUTATIVITY-OF-GCD,
DISTRIBUTIVITY-OF-TIMES-OVER-GCD, PRIME-GCD, TIMES-IDENTITY, and
CAR-CONS, and unfolding PRIME, NOT, AND, IMPLIES, LESSP, MULTS,
DIVIDES, REMAINDER, and MEMBER, to:
(IMPLIES (AND (NOT (EQUAL J 0))
(NUMBERP J)
( LEQ P (SUB1 J))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q))
(LESSP I Q)
(LESSP (SUB1 J) (SUB1 P)))
(NOT (MEMBER (TIMES I P)
(MULTS (SUB1 J) Q)))).
This simplifies again, using linear arithmetic, to:
T.
Q.E.D.
[ 96.066927 0.5421875 ]
EMPTY-INTERSECT-MULTS-1
(PROVE-LEMMA EMPTY-INTERSECT-MULTS
(REWRITE)
(IMPLIES (AND (PRIME P)
(PRIME Q)
(NOT (EQUAL P Q))
(LESSP I Q))
(NOT (LISTP (INTERSECT (MULTS I P)
(MULTS (QUOTIENT P 2.) Q)))))
((USE (EMPTY-INTERSECT-MULTS-1 (J (QUOTIENT P 2.))))
(INDUCT (MULTS I P))
(DISABLE PRIME1 QUOTIENT EMPTY-INTERSECT-MULTS-1
LESSP-REMAINDER-DIVISOR)))
This conjecture simplifies, applying LESSP-QUOTIENT1 and TIMES-ZERO2,
and unfolding the functions PRIME, NOT, EQUAL, NUMBERP, AND, IMPLIES,
ZEROP, QUOTIENT, MULTS, OR, and LESSP, to four new conjectures:
Case 4. (IMPLIES
(AND (NOT (MEMBER (TIMES I P)
(MULTS (QUOTIENT P 2) Q)))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q))
(NOT (LISTP (INTERSECT (MULTS (SUB1 I) P)
(MULTS (QUOTIENT P 2) Q))))
(LESSP I Q))
(NOT (LISTP (INTERSECT (CONS (TIMES I P) (MULTS (SUB1 I) P))
(MULTS (QUOTIENT P 2) Q))))).
However this simplifies again, applying the lemmas CDR-CONS and
CAR-CONS, and expanding the definition of INTERSECT, to:
T.
Case 3. (IMPLIES
(AND (NOT (MEMBER (TIMES I P)
(MULTS (QUOTIENT P 2) Q)))
(NOT (EQUAL I 0))
(NUMBERP I)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q))
( LEQ Q (SUB1 I))
(LESSP I Q))
(NOT (LISTP (INTERSECT (CONS (TIMES I P) (MULTS (SUB1 I) P))
(MULTS (QUOTIENT P 2) Q))))),
which again simplifies, using linear arithmetic, to:
T.
Case 2. (IMPLIES (AND (NOT (MEMBER (TIMES I P)
(MULTS (QUOTIENT P 2) Q)))
(EQUAL I 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q))
(LESSP I Q))
(NOT (LISTP (INTERSECT NIL
(MULTS (QUOTIENT P 2) Q))))),
which we again simplify, unfolding EQUAL, LESSP, LISTP, and
INTERSECT, to:
T.
Case 1. (IMPLIES (AND (NOT (MEMBER (TIMES I P)
(MULTS (QUOTIENT P 2) Q)))
(NOT (NUMBERP I))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q))
(LESSP I Q))
(NOT (LISTP (INTERSECT NIL
(MULTS (QUOTIENT P 2) Q))))).
But this again simplifies, unfolding the definitions of LESSP,
LISTP, and INTERSECT, to:
T.
Q.E.D.
[ 68.041927 0.42109375 ]
EMPTY-INTERSECT-MULTS
(PROVE-LEMMA EQUAL-PLUS-QUOT-LIST-WINS
(REWRITE)
(IMPLIES (AND (PRIME P)
(PRIME Q)
(NOT (EQUAL P Q)))
(EQUAL (PLUS-LIST (QUOT-LIST (QUOTIENT P 2.) Q P))
(WINS (MULTS (QUOTIENT P 2.) Q)
(MULTS (QUOTIENT Q 2.) P))))
((USE (EQUAL-WINS-PLUS-QUOT-LIST (J (QUOTIENT P 2.))))
(DISABLE EQUAL-WINS-PLUS-QUOT-LIST MULTS QUOT-LIST WINS
PLUS-LIST PRIME1)))
This conjecture can be simplified, using the abbreviations NOT, PRIME,
AND, IMPLIES, and DIVIDES, to the new conjecture:
(IMPLIES
(AND
(IMPLIES (AND (PRIME P)
(AND (NOT (EQUAL (REMAINDER Q P) 0))
(AND (NOT (ZEROP Q))
(AND (NOT (ZEROP (QUOTIENT P 2)))
(IF (LESSP (QUOTIENT P 2)
(QUOTIENT P 2))
F
T)))))
(EQUAL (WINS (MULTS (QUOTIENT P 2) Q)
(MULTS (QUOTIENT Q 2) P))
(PLUS-LIST (QUOT-LIST (QUOTIENT P 2) Q P))))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q)))
(EQUAL (PLUS-LIST (QUOT-LIST (QUOTIENT P 2) Q P))
(WINS (MULTS (QUOTIENT P 2) Q)
(MULTS (QUOTIENT Q 2) P)))).
This simplifies, appealing to the lemma LITTLE-STEP, and expanding
PRIME, NOT, ZEROP, AND, and IMPLIES, to the following two new
conjectures:
Case 2. (IMPLIES (AND (EQUAL (QUOTIENT P 2) 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q)))
(EQUAL (PLUS-LIST (QUOT-LIST 0 Q P))
(WINS (MULTS 0 Q)
(MULTS (QUOTIENT Q 2) P)))).
Appealing to the lemma REMAINDER-QUOTIENT-ELIM, we now replace P by
(PLUS Z (TIMES 2 X)) to eliminate (QUOTIENT P 2) and
(REMAINDER P 2). We rely upon LESSP-REMAINDER2, the type
restriction lemma noted when QUOTIENT was introduced, and the type
restriction lemma noted when REMAINDER was introduced to constrain
the new variables. We thus obtain the following three new formulas:
Case 2.3.
(IMPLIES (AND (EQUAL 2 0)
(EQUAL (QUOTIENT P 2) 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q)))
(EQUAL (PLUS-LIST (QUOT-LIST 0 Q P))
(WINS (MULTS 0 Q)
(MULTS (QUOTIENT Q 2) P)))),
which further simplifies, using linear arithmetic, to:
T.
Case 2.2.
(IMPLIES (AND (NOT (NUMBERP 2))
(EQUAL (QUOTIENT P 2) 0)
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q)))
(EQUAL (PLUS-LIST (QUOT-LIST 0 Q P))
(WINS (MULTS 0 Q)
(MULTS (QUOTIENT Q 2) P)))),
which further simplifies, trivially, to:
T.
Case 2.1.
(IMPLIES
(AND (NUMBERP X)
(NUMBERP Z)
(EQUAL (LESSP Z 2) (NOT (ZEROP 2)))
(NOT (EQUAL 2 0))
(EQUAL X 0)
(NOT (EQUAL (PLUS Z (TIMES 2 X)) 0))
(NOT (EQUAL (PLUS Z (TIMES 2 X)) 1))
(PRIME1 (PLUS Z (TIMES 2 X))
(SUB1 (PLUS Z (TIMES 2 X))))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL (PLUS Z (TIMES 2 X)) Q)))
(EQUAL (PLUS-LIST (QUOT-LIST 0
Q
(PLUS Z (TIMES 2 X))))
(WINS (MULTS 0 Q)
(MULTS (QUOTIENT Q 2)
(PLUS Z (TIMES 2 X)))))).
However this further simplifies, rewriting with
COMMUTATIVITY-OF-PLUS, and expanding NUMBERP, ZEROP, NOT, EQUAL,
TIMES, and PLUS, to the new conjecture:
(IMPLIES (AND (NUMBERP Z)
(LESSP Z 2)
(NOT (EQUAL Z 0))
(NOT (EQUAL Z 1))
(PRIME1 Z (SUB1 Z))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL Z Q)))
(EQUAL (PLUS-LIST (QUOT-LIST 0 Q Z))
(WINS (MULTS 0 Q)
(MULTS (QUOTIENT Q 2) Z)))).
This simplifies again, using linear arithmetic, to:
T.
Case 1. (IMPLIES (AND (LESSP (QUOTIENT P 2)
(QUOTIENT P 2))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q)))
(EQUAL (PLUS-LIST (QUOT-LIST (QUOTIENT P 2) Q P))
(WINS (MULTS (QUOTIENT P 2) Q)
(MULTS (QUOTIENT Q 2) P)))),
which we again simplify, using linear arithmetic, to:
T.
Q.E.D.
[ 41.374349 0.52356771 ]
EQUAL-PLUS-QUOT-LIST-WINS
(PROVE-LEMMA LAW-OF-QUADRATIC-RECIPROCITY NIL
(IMPLIES (AND (PRIME P)
(PRIME Q)
(NOT (EQUAL P Q))
(NOT (EQUAL P 2.))
(NOT (EQUAL Q 2.)))
(EQUAL (EQUAL (RESIDUE Q P) (RESIDUE P Q))
(EVEN (TIMES (QUOTIENT P 2.)
(QUOTIENT Q 2.)))))
((USE (RESIDUE-QUOT-LIST)
(EVEN3-EVEN (P (TIMES (QUOTIENT P 2.)
(QUOTIENT Q 2.)))))
(HANDS-OFF QUOTIENT QUOT-LIST EVEN3 RESIDUE TIMES)
(DISABLE RESIDUE PRIME1 QUOT-LIST PLUS-LIST EVEN3-PLUS
LESSP-REMAINDER-DIVISOR)))
This formula can be simplified, using the abbreviations NOT, PRIME,
IMPLIES, AND, EVEN, and DIVIDES, to:
(IMPLIES
(AND
(IMPLIES
(AND (PRIME P)
(AND (PRIME Q)
(AND (NOT (EQUAL P Q))
(AND (NOT (EQUAL P 2))
(NOT (EQUAL Q 2))))))
(EQUAL
(EQUAL (RESIDUE Q P) (RESIDUE P Q))
(EVEN3 (PLUS (PLUS-LIST (QUOT-LIST (QUOTIENT P 2) Q P))
(PLUS-LIST (QUOT-LIST (QUOTIENT Q 2) P Q))))))
(EQUAL (EQUAL (REMAINDER (TIMES (QUOTIENT P 2)
(QUOTIENT Q 2))
2)
0)
(EVEN3 (TIMES (QUOTIENT P 2)
(QUOTIENT Q 2))))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q))
(NOT (EQUAL P 2))
(NOT (EQUAL Q 2)))
(EQUAL (EQUAL (RESIDUE Q P) (RESIDUE P Q))
(EQUAL 0
(REMAINDER (TIMES (QUOTIENT P 2)
(QUOTIENT Q 2))
2)))).
This simplifies, appealing to the lemmas EQUAL-PLUS-QUOT-LIST-WINS,
ALL-NON-ZEROP-MULTS, EMPTY-INTERSECT-MULTS, LESSP-QUOTIENT1,
LENGTH-MULTS, A-WINNER-EVERY-TIME, and PRIME-KEY-REWRITE, and
expanding PRIME, NOT, AND, EQUAL, NUMBERP, and IMPLIES, to the
following two new conjectures:
Case 2. (IMPLIES (AND (NOT (EQUAL (RESIDUE Q P) (RESIDUE P Q)))
(NOT (EVEN3 (TIMES (QUOTIENT P 2)
(QUOTIENT Q 2))))
(NOT (EQUAL (REMAINDER (QUOTIENT P 2) 2)
0))
(EQUAL (EQUAL (REMAINDER (QUOTIENT Q 2) 2)
0)
(EVEN3 (TIMES (QUOTIENT P 2)
(QUOTIENT Q 2))))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q))
(NOT (EQUAL P 2))
(NOT (EQUAL Q 2)))
(NOT (EQUAL 0
(REMAINDER (QUOTIENT Q 2) 2)))).
This simplifies again, expanding the function EQUAL, to:
T.
Case 1. (IMPLIES (AND (EQUAL (RESIDUE Q P) (RESIDUE P Q))
(EQUAL (EVEN3 (TIMES (QUOTIENT P 2)
(QUOTIENT Q 2)))
T)
(NOT (EQUAL (REMAINDER (QUOTIENT P 2) 2)
0))
(EQUAL (EQUAL (REMAINDER (QUOTIENT Q 2) 2)
0)
(EVEN3 (TIMES (QUOTIENT P 2)
(QUOTIENT Q 2))))
(NOT (EQUAL P 0))
(NUMBERP P)
(NOT (EQUAL P 1))
(PRIME1 P (SUB1 P))
(NOT (EQUAL Q 0))
(NUMBERP Q)
(NOT (EQUAL Q 1))
(PRIME1 Q (SUB1 Q))
(NOT (EQUAL P Q))
(NOT (EQUAL P 2))
(NOT (EQUAL Q 2)))
(EQUAL 0
(REMAINDER (QUOTIENT Q 2) 2))).
However this simplifies again, unfolding EQUAL, to:
T.
Q.E.D.
[ 85.089974 0.42486979 ]
LAW-OF-QUADRATIC-RECIPROCITY
SYSTEM
[ 0.0 0.0 ]BASIS.LISP.
GENFACT.LISP.
EVENTS.LISP.
CODE-1-A.LISP.
CODE-B-D.LISP.
CODE-E-M.LISP.
CODE-N-R.LISP.
CODE-S-Z.LISP.
IO.LISP.
PPR.LISP.
Maclisp Version 2133
REDO-UNDONE-EVENTS completed. Here is FAILED-THMS:
NIL